ฉันกำลังพยายามประกาศโครงสร้างที่ขึ้นอยู่กับโครงสร้างอื่น ฉันต้องการใช้sizeofเพื่อความปลอดภัย / อวดรู้
typedef struct _parent
{
float calc ;
char text[255] ;
int used ;
} parent_t ;
ตอนนี้ฉันต้องการประกาศโครงสร้างchild_tที่มีขนาดเท่ากับparent_t.text.
ฉันจะทำเช่นนี้ได้อย่างไร? (รหัสหลอกด้านล่าง)
typedef struct _child
{
char flag ;
char text[sizeof(parent_t.text)] ;
int used ;
} child_t ;
ฉันลองหลายวิธีด้วยparent_tและstruct _parentแต่คอมไพเลอร์ของฉันไม่ยอมรับ
เคล็ดลับนี้ดูเหมือนจะใช้ได้:
parent_t* dummy ;
typedef struct _child
{
char flag ;
char text[sizeof(dummy->text)] ;
int used ;
} child_t ;
เป็นไปได้ไหมที่จะประกาศchild_tโดยไม่ต้องใช้dummy?