Re: [問題] struct

看板C_and_CPP (C/C++)作者 (Ar藤)時間14年前 (2012/04/22 21:32), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串2/4 (看更多)
※ 引述《aznchat100 (KG is MVP)》之銘言: : 問題(Question): : 1. : type struct node{ : ..........}NODE; : 2. : typedef struct node NODE{ : .......}; : 我今天在圖書館翻片了大大小小本的C語言書 : 還是找不到我要的解答 : 想請問這邊的高手 這兩個寫法差在哪裡? : 感謝!! 你的code本身就怪怪的 下面附上我以前自己試驗的筆記 看是不是你要的東西 =============================================== 一個匿名的struct 所以不可用 struct { int x; }; --------------------------------------------------------- 一個匿名struct,但之後馬上接上變數名a,所以a的type是此struct。 struct { int x; } a; a.x=5; --------------------------------------------------------- 定義一個叫做a的struct,並定義一個type為a的foo變數,其x元素為5 typedef struct { int x; } a; a foo={5}; --------------------------------------------------------- 看下面的範例 typedef struct b { int x; } a; a x={5}; struct b y={6}; printf("%d %d", x.x, y.x); // 輸出5 6 目前看起來a和struct b是一樣的,兩者有什麼地方不同嗎? 有! 當有在struct宣告一個指向本身struct的指標時會不同。 typedef struct b { int x; a * y; } a; 上面這寫法錯誤 a * y 中的a尚未可見 compile不過 typedef struct b { int x; struct b * y; } a; 上面這寫法才正確 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.140.149

04/22 21:35, , 1F
感謝 我看到的那本書應該是有印刷錯誤
04/22 21:35, 1F

04/22 21:46, , 2F
a的意思是"型態"而不是"變數"嗎? 我之前在用的時候
04/22 21:46, 2F

04/22 21:47, , 3F
再用sort的時候我會丟一個像是a的"型態",可是丟一個
04/22 21:47, 3F

04/22 21:48, , 4F
型態為a的物件@@
04/22 21:48, 4F

04/22 21:49, , 5F
這樣也可以........抱歉有點不清楚
04/22 21:49, 5F

04/29 21:19, , 6F
推 很清楚
04/29 21:19, 6F
文章代碼(AID): #1Fb0Xv3y (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
3
8
完整討論串 (本文為第 2 之 4 篇):
2
12
1
1
2
6
3
8
文章代碼(AID): #1Fb0Xv3y (C_and_CPP)