2013-06-29 121 views
0

可以在结构之间形成双向链接吗?我试图这样做:双向结构指针链接,C

typedef struct 
{ 
    int foo; 
    b *b; 
} a; 

typedef struct 
{ 
    int bar; 
    a *a; 
} b; 

但结构a不知道什么b是因为它后来宣布。

回答

1

当你需要引用可能尚未确定,直到然后其他结构,使你的声明是这样,它应该工作:

typedef struct 
{ 
    int foo; 
    struct b *b; 
} a; 

typedef struct 
{ 
    int bar; 
    struct a *a; 
} b; 
+0

我现在还记得, 谢谢。 – user22817

3

试试这个,

typedef struct a a; 
typedef struct b b; 

struct a 
{ 
    int foo; 
    b *b; 
} ; 

struct b 
{ 
    int bar; 
    a *a; 
} ;