Google Code Prettify
2013年10月2日 星期三
C/C++ typedef , struct , typedef struct 差別
一開始在摸C和C++時,常常搞混typedef , struct , typedef struct 的差別
這邊來做一下簡單的說明:
-----typedef-----
typedef 可以用來幫某種類型取名字
例如
typedef int Jack; // 幫int取名叫Jack
因此我們就可以在設定變數時用Jack這個類型:
Jack age; //age的型別是 int
-----struct-----
struct 可以建立一個多種類型的結構 (把它想成幫一群人取名字)
struct family{
int Ken;
float Sam;
}; //別忘了結尾要加分號
因此我們就可以在設定變數時用family這個結構:
這邊重點就來了,C和C++在宣告結構的變數時,有點不同,
C的宣告方式比較嚴謹:
C:
struct family Chen; //Chen的型別是family這個結構,而family的型別是struct
C++:
family Chen; //Chen的型別是family這個結構
因此有時候為了方便,我們可以在宣告結構時,就一起宣告變數,
這宣告結構變數的方式在C和C++都一樣:
struct family{
int Ken;
float Sam;
}; Chen //Chen的型別是family這個結構
當我們要呼叫Chen裡的成員時,只要用 . 來呼叫:
Chen.Ken=10; //設定Ken=10;
-----typedef struct-----
這就是結合 typedef 和 struct 的一種方式,直接幫結構命名
在C和C++都一樣:
typedef struct family{
int Ken;
float Sam;
}Asia; //把family這個結構命名為Asia
因此如果要建立family的結構變數時:
Asia Chen; //沒加typedef之前,要用family Chen宣告
要呼叫Chen的成員時,一樣只要用 . 來呼叫
Chen.Sam=10.5;
訂閱:
張貼留言 (Atom)
謝謝作者
回覆刪除淺簡表示這些的差異
終於搞懂!!
不客氣^^
刪除看了一堆網頁,終於在這邊搞懂了!
刪除Vince 學習筆記: C/C++ Typedef , Struct , Typedef Struct 差別 >>>>> Download Now
刪除>>>>> Download Full
Vince 學習筆記: C/C++ Typedef , Struct , Typedef Struct 差別 >>>>> Download LINK
>>>>> Download Now
Vince 學習筆記: C/C++ Typedef , Struct , Typedef Struct 差別 >>>>> Download Full
>>>>> Download LINK hr
謝謝
回覆刪除helpful thanks!
回覆刪除謝謝你的分享!
回覆刪除請問作者C++物件導向的題目在哪邊要怎麼練習呢?
回覆刪除struct family{
回覆刪除int Ken;
float Sam;
}; Chen
Chen後面要加分號(;)吧
請問 都可以幫結構命名的話,用typedef struct跟struct有什麼差別呢?
回覆刪除struct family{
回覆刪除int Ken;
float Sam;
}Chen;
是這樣嗎?
感謝,清楚明瞭
回覆刪除謝謝
回覆刪除