|
union是一種特殊的類別,使用關鍵字union來定義,union維護足夠的空間來置放多個資料成員中的「一種」,而不是為每一個資料成員配置空間,
在union中所有的資料成員共用一個空間,同時間只能儲存其中一個成員的資料,一個定義union的例子如下: union
StateMachine {
char character; int number; char *str; double exp; }; 一個union只配置一個足夠大的空間以來容納最大長度的資料成員,以上例而言,最大長度是double型態,所以StateMachine的記憶體空間 就是double型態的長度: #include <stdio.h> 執行結果:
由於union的資料成員共用一個記憶體空間,所以必須存取正確的資料成員才能正確的取出資料。 |
|