別の構造体に依存する構造体を宣言しようとしています。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か?