構造体間の双方向リンクを形成することは可能ですか? 私はこのようにそれを達成しようとしました:
typedef struct
{
int foo;
b *b;
} a;
typedef struct
{
int bar;
a *a;
} b;
しかし、構造体 a は後で宣言されるため、b が何であるかを知りません。
これを試して、
typedef struct a a;
typedef struct b b;
struct a
{
int foo;
b *b;
} ;
struct b
{
int bar;
a *a;
} ;
それまで定義されていなかった可能性のある他の構造体を参照する必要がある場合は、次のように宣言すると機能するはずです。
typedef struct
{
int foo;
struct b *b;
} a;
typedef struct
{
int bar;
struct a *a;
} b;