共用体
共用体(union)是一种数据格式,它能够存储不同类型的数据,但是只能同时存储其中的一种类型。
一、共用体的声明
共用体的语法和结构体类似,共用体声明格式如下:
union unintype
{
int fourbyte;
char onebyte [4];
};
定义结构后,就可以创建这种类型的变量了:
unintype test1;
unintype test2;
共用体类型数据的特点
1、同一个内存段可以用来存放几种不同类型的成员,但是在每一瞬间只能存放其中的一种,而不是同时存放几种。换句话说,每一瞬间只有一个成员在起作用,其他的成员不起作用,即不是同时都在起作用。
2、共用体变量中起作用的成员是最后一次存放的成员,在存入一个新成员后,原有成员就失去作用。
3、共用体变量的地址和它的各成员的地址都是同一地址。
4、不能对共用体变量赋值,也不能企图引用变量名来得到一个值,也不能在定义共用体变量的时候对它进行初始化。
5、共用体类型可以出现在结构体类型的定义中,也可以定义共用体数组。反之,结构体也可以出现在共用体类型的定义中,数组也可以作为共用体的成员。