目錄
聯合體
聯合體類型的聲明
聯合體的特點
相同成員聯合體和結構體的對比
聯合體大小的計算
例子
枚舉類型
枚舉類型的聲明
枚舉類型的優點
枚舉類型的使用
聯合體
聯合體類型的聲明
像結構體一樣,聯合體也是由一個或者多個成員構成,這些成員可以不同的類型。
但是編譯器只為最大的成員分配足夠的內存空間。聯合體的特點是所有成員共用同一塊內存空間。所以聯合體也叫:共用體。
給聯合體其中一個成員賦值,其他成員的值也跟著變化。
聯合體的特點
聯合的成員是共用同一塊內存空間的,這樣一個聯合變量的大小,至少是最大成員的大小(因為聯合至少得有能力保存最大的那個成員)。
相同成員聯合體和結構體的對比
聯合體大小的計算
1. 聯合的大小至少是最大成員的大小。
2. 當最大成員大小不是最大對齊數的整數倍的時候,就要對齊到最大對齊數的整數倍。
例子
判斷大小端
?節省空間的應用
枚舉類型
枚舉類型的聲明
枚舉 --> 一一列舉
默認值為從0開始++。?
枚舉類型的優點
我們可以使用 #define 定義常量,為什么非要使用枚舉?
枚舉的優點:
1. 增加代碼的可讀性和可維護性。
2. 和#define定義的標識符比較枚舉有類型檢查,更加嚴謹。
3. 便于調試,預處理階段會刪除 #define 定義的符號。
4. 使用方便,一次可以定義多個常量。
5. 枚舉常量是遵循作用域規則的,枚舉聲明在函數內,只能在函數內使用。
枚舉類型的使用
那是否可以拿整數給枚舉變量賦值呢?在C語言中是可以的,但是在C++是不行的,C++的類型檢查比較嚴格。?