共用体也称为联合体,是一个能在同一个存储空间存储不同数据的类型。
1.定义一个共用体类型:
union un
{
unsigned char a;//1字节
unsigned int b;//4字节
unsigned short c;//2字节
};//各数据类型的内存大小受操作系统影响,视具体情况而定
2.共用体所占的内存大小等于其最长成员的长度sizeof(union un)=sizeof(unsigned int)=4;
3.同一内存段可以用来存放几种不同类型的成员,但每一个时刻,只有一种起作用。
共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员的值会被覆盖。
union un u1;
u1.a=0x44332211;
那么u1.a=11;u1.c=2211;
4.共用体变量的地址和它的各成员的地址相同。
union un u1;
&u1=&u1.a=&u1.b=&u1.c;