联合在写法上和结构体非常相似:
1union a {2 int a;3 char c;4} x1, x2;
使用的时候也是用.来使用的:
.
1x1.a = 1;2x1.c = 'w';
和结构体不同的是,每个结构体单独使用一个独立的字节空间,但是联合是共同占据,就像是这些数据联合使用了一块内存。
当你填入x1.a=1的时候,就已经占据了这个联合的内存空间,如果再赋值x1.c='w',那么又会覆盖x1.a的内存。
x1.a=1
x1.c='w'