說明
聯合體定義:
c
複製程式碼
union data {
char c;
short s;
long b;
double d;
};
這段程式碼定義了一個聯合體 data,包含四個不同類型的成員:char、short、long 和 double。
使用聯合體變數:
c
複製程式碼
union data myData;
宣告了一個聯合體變數 myData,它可以存儲 char、short、long 或 double 類型的值,但一次只能存儲其中一種。
訪問和設置聯合體成員:
設置 char 成員並打印:
c
複製程式碼
myData.c = 'A';
printf("char: %c\n", myData.c);
設置 short 成員並打印:
c
複製程式碼
myData.s = 12345;
printf("short: %d\n", myData.s);
設置 long 成員並打印:
c
複製程式碼
myData.b = 123456789L;
printf("long: %ld\n", myData.b);
設置 double 成員並打印:
c
複製程式碼
myData.d = 3.14159;
printf("double: %f\n", myData.d);
注意事項
聯合體中的所有成員共用同一塊內存,所以一次只能存儲其中的一種數據。
設置一個成員的值後,其他成員的值會被覆蓋。因此,每次只能有效使用一個成員。
聯合體的大小等於其最大成員的大小。
這樣就完成了 union data 的定義和使用示例。