Я пытаюсь объявить структуру, которая зависит от другой структуры. Хочу использовать из 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?