結構體定義別名時定義為 的情況

2021-07-10 06:48:11 字數 531 閱讀 1630

c語言給結構體定義別名用typedef關鍵字操作,就兩種情況:

給結構體起乙個別名,如:

typedefstructlnode

lnode;

——這就為結構體lnode定義了乙個別名lnode。以後寫lnode x;就等價於寫struct lnode x;了。

給結構體指標起乙個別名,如:

typedefstructlnode

*linkedlist;

——這就為結構體指標lnode * 定義了乙個別名linkedlist。以後寫linkedlist pt;就等價於寫struct linkedlist *pt;了。注意這裡是用typedef給struct lnode * 起乙個別名linkedlist,而不是給struct lnode起乙個別名*linkedlist——後者是說不通的,起碼的錯誤是識別符號不可能以*開頭!

C語言結構體 別名定義

以前一直有這麼個誤區。現在解決了。c語言給結構體定義別名用typedef關鍵字操作,就兩種情況 1 給結構體起乙個別名,如 typedef struct abcs 這就為結構體abc定義了乙個別名s。以後寫s x 就等價於寫struct abc x 2 給結構體指標起乙個別名,如 typedef s...

為什麼要用typedef定義結構體別名

定義乙個結構體,比如說 struct stu 然後我想定義乙個結構體型別的指 針,應該是struct stu p 或者定義乙個普通的結構體變數struct stu a 比較麻煩,用typedef後 typedef struct st ulinklist 那麼現在linklist就代表這個結構 體,現...

typedef為指標定義別名

對指標和函式指標定義別名涉及到優先順序,檢視 c語言宣告的優先順序 那篇 1 c語言typedef的用法詳解 biancheng.net typedef char char20 20 char20是型別char 20 的別名。它是乙個長度為 20 的陣列型別 char20 a1,a2,a3,a4 c...