2013-06-29 321 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; 
} ;