1.8 联合体
1.概念
union可以用相同的存储空间存储不同类别的数据类型,从而节省内存空间。
- 所有的成员相对于基地址的偏移量都为0;
- 联合体(union)中的各变量是互斥的
2.联合类型的定义形式
union 联合类型名
{
数据类型1 成员1名称;
数据类型2 成员2名称;
…
};
3.程序举例
Union Demo
{
char a;
int b;
double c;
};
int main()
{
char ch='H';
int i = 5;
double c = 3.14;
cout << ch << " 占" << sizeof(ch) << "个字节\n";
cout << i << " 占" << sizeof(i) << "个字节\n";
cout << c << " 占" << sizeof(c) << "个字节\n\n";
Demo d;
cout <<"Demo 类型 变量d "<< " 占" << sizeof(d) << "个字节\n";
d.a = ch;
cout << "d.a=" << d.a << endl;
d.b = i;
cout << "d.b=" << d.b << endl;
d.c = c;
cout << "d.c=" << d.c << endl;
cout << "a=" << d.a << " b=" << d.b << " c=" << d.c << endl;
system("pause");
return 0;
}