結構體互為成員

2021-07-15 14:05:20 字數 1110 閱讀 6795

我定義了兩個型別

typedef stuct

aaa, *paaa;

typedef struct

bbb, *pbbb

這樣兩個型別怎麼宣告?

struct aaa;

struct bbb;

typedef aaa* paaa;

typedef bbb* pbbb;

struct aaa

;struct bbb;

至少有乙個,裡面必須是另外乙個物件的指標

支援樓上的,至少其中有乙個當中包含的是另外乙個結構的指標

否則就是死迴圈了

向 fiftymetre(閒人的小乖乖) :

一定要給結構取名字嗎?就是

一定要

struct aaa

;

而不能

typedef sturct

aaa;

可以啊,那麼以後你要宣告乙個這種型別的變數a的話,就只需要寫aaa a了。

如:

#include 

using namespace std;

typedef structaaa;

int main()

#include 

using namespace std;

typedef structaaa;

int main()

前置宣告加指標, 

宣告指標變數不需要物件完全定義,只要宣告。 就不會造成死迴圈。

另記:

最後自己測試時遇到問題:

#include struct aaa;

typedef aaa *bbb;

struct aaa;

int main()

嘗試幾次才發現語法錯誤,

更正之後編譯執行無誤:

#include struct aaa;

typedef struct aaa bbb,*ccc;

struct aaa;

int main()

結構體成員的引用

有下面幾個結構體 struct 是個結構標籤 struct x struct y 20 z 或者typedef struct 是個型別名 x y 20 z struct complex struct complex comp 結構體成員直接訪問 comp.sa 4 c 結構體成員的間接訪問 當擁有乙...

termios結構體各成員

termios結構體內容 成員 描述 c cflag 控制模式標誌 c lflag 本地模式標誌 c iflag 輸入模式標誌 c oflag 輸出模式標誌 c line line discipline c cc nccs 控制字元 c ispeed 輸入波特率 c ospeed 輸出波特率 在te...

結構體指定成員賦值

includeusing namespace std void f int main test t t.function cout t.name endl return 0 d programming c g structpointertest.cpp d programming c cl stru...