是否有可能在结构之间形成双向链接?我试图像这样实现它:
typedef struct
{
int foo;
b *b;
} a;
typedef struct
{
int bar;
a *a;
} b;
但结构a不知道b是什么,因为它之后被声明。
答案 0 :(得分:3)
试试这个,
typedef struct a a;
typedef struct b b;
struct a
{
int foo;
b *b;
} ;
struct b
{
int bar;
a *a;
} ;
答案 1 :(得分:1)
如果您需要引用之前可能尚未定义的其他结构,请按照这样的方式进行声明,它应该有效:
typedef struct
{
int foo;
struct b *b;
} a;
typedef struct
{
int bar;
struct a *a;
} b;