有时需要使几个不同类型的变量共用同一组内存单元,这时可以声明一个联合体.
1、联合体声明的语法形式:
union 联合名{
数据类型1 成员1;
数据类型2 成员2;
...
数据类型n 成员n;
};
2、联合体类型变量声明的语法形式:联合名 变量名;
3、联合体类型变量的引用形式:联合变量名.成员名;
4、联合体uarea类型变量所占存储空间大小应满足:
- 大小足够容纳最宽的元素
- 大小能够被其包含的所有基本数据类型的大小所整除
例如,有联合体类型声明如下:
union uarea{
char c_data;
short s_data;
long l_data;
};
uarea x, y, z;
x.c_data = '1';
y.s_data = 10;
z.l_data = 1234567890;
在uarea中,long型的l_data所占的内存最大,所占联合体所占内存大小应与l_data所占大小相同。在使用联合体时,只能使用其中的某一个成员.