Tôi đang cố gắng khai báo một cấu trúc phụ thuộc vào một cấu trúc khác. Tôi muốn sử dụng sizeof
để được an toàn / đáng tin cậy.
typedef struct _parent
{
float calc ;
char text[255] ;
int used ;
} parent_t ;
Bây giờ tôi muốn khai báo một cấu trúc child_t
có cùng kích thước với parent_t.text
.
Tôi có thể làm cái này như thế nào? (Mã giả bên dưới.)
typedef struct _child
{
char flag ;
char text[sizeof(parent_t.text)] ;
int used ;
} child_t ;
Tôi đã thử một vài cách khác nhau với parent_t
và struct _parent
, nhưng trình biên dịch của tôi sẽ không chấp nhận.
Như một mẹo nhỏ, điều này dường như hoạt động:
parent_t* dummy ;
typedef struct _child
{
char flag ;
char text[sizeof(dummy->text)] ;
int used ;
} child_t ;
Có thể khai báo child_t
mà không sử dụng dummy
?