|
| 反復再把你剛才給我講的琢磨了一次,基本消化,謝謝你 |
|
typedef struct { .... } abc; struct abc { .... }下面等價吧,對嗎?一樣的, 此時的,abc,都是表示為結構體的數據類型名 |
|
#define struct { .... } abc 可不可以用這個關鍵字? |
|
應該是這樣 struct abc { ...... }; typedef struct abc abc; 第一條語句中的abc是結構體名稱,要用它定義變量要寫struct abc 變量名; 第二句給struct abc起了別名叫abc,以后直接可以用abc定義變量, 如 abc 變量名; 之前寫的是將兩條語句合為一條寫,這樣可以省略結構體名稱不寫。 |
|
這個abc與 struct等價吧,在定義新的變量名的時候,任意一個,即可,對不? 暈,不對不對,關鍵我看錯了 typedef 這是一個宏定義的關鍵字,是吧 |
|
還有一種常見的寫法 typedef struct { .... } abc; 意思是給結構體類型起個別名叫abc,后面就可以直接用abc來定義變量,而不需要寫 struct 結構體名稱 變量名列表; |
| 哦,寫在后面,就可以直接定義聯合體或結構體的變量了。對吧,寫在前面,只能是一種數據類型耍已,并非實際變量。這樣理解對吧 |
|
不是的。 寫在union或struct后面的是聯合體或結構體(類型)名稱。 而寫在末尾的是用類型定義的變量名,這樣就沒有定義類型名。 |