一、共用體
(1)定義
一般形式
union 共用體名
{成員表列
}變量表列;
結構體變量所占用的記憶體長度等于最長的成員的長度
(2)共用體的特點
①同一個記憶體段可以用來存放幾種不同類型的成員,但在每一瞬間隻能存放其中一個成員而不是幾個
②可以對共用體變量初始化,但初始化表中隻能有一個常量
③共用體變量中起作用的成員是最後一次被指派的成員
④共用體變量的位址和它的各成員的位址都是同一位址
⑤不能對共用體變量名指派,也不能企圖引用變量名來得到一個值
⑥以前的C規定不能把共用體變量作為函數參數,但可以使用指向共用體變量的指針作函數參數
⑦共用體類型可以出現在結構體類型定義中,也可以定義共用體數組
二、枚舉
(1)定義
一般形式
enum[枚舉名] {枚舉元素清單};
其中枚舉名應遵循辨別符的命名規則
注意:
①C編譯對枚舉類型的枚舉元素按常量處理
②每一個枚舉元素都代表一個整數,C語言編譯按定義時的順序預設它們的值為0,1,2,3,4...