// 共用体 // 特点: // 1. 共用体中的所有成员共用一块内存空间 // 2. 共用体的大小是最大成员的大小 // 3. 共用体的成员可以是不同的数据类型 // 只初始化第一个成员 // 不能同时使用其他的成员 // 变量中起作用的只有最后一次赋值 // 在存入一个新的值之前, 会把上一个值覆盖掉 #include union data1_uni { unsigned char a; short b; int c; } data1, data2; int main() { printf("%ld\n", sizeof(union data1_uni)); data1.a = 10; data1.c = 20; printf("a = %d, b = %d, c = %d\n", data1.a, data1.b, data1.c); union data1_uni data2 = {14}; printf("a = %d, b = %d, c = %d\n", data2.a, data2.b, data2.c); union data1_uni data3 = {257}; printf("a = %d, b = %d, c = %d\n", data3.a, data3.b, data3.c); union data1_uni data4; data4.b = 300; printf("a = %d, b = %d, c = %d\n", data4.a, data4.b, data4.c); union data1_uni data5; data5.c = 32769; printf("a = %d, b = %d, c = %d\n", data5.a, data5.b, data5.c); return 0; }