联合(union)
也称为共用体类型,可以将集中不同的类型数据存放于同一段内存中。
联合类型的定义
基本语法:
- 每个成员拥有共同的内存空间。
- 联合类型变量所占内存的大小应为各个成员所占内存大小的最大值。如果有构造数据类型,其大小为其中最长基本类型的正数倍。
2.联合变量的定义与使用
- 初始化:
联合变量只能初始化第一个成员。
初始化格式: 联合类型名 联合变量名 = {成员名1的值};
如:
UData u = {65};//'A'
不能UData u2 = "12345",除非将char str[10]作为第一个成员。
- 在定义无名联合类型时,其中的成员类型可以当做变量使用,如:
union{
char c;
int i;
};
c = 'a';
i = 65;
cout << c;//最终输出'A'
(i和c有共同的内存)