对union有几个小疑问测试了一下结果如下,直接上图和程序
#include <iostream>
using namespace std;
union UTest
{
int i,j;
float f;
char c;
}
int main()
{
UTest u;
u.f = 3.14;
u.i = 0; //将联合体占用的内存初始化
u.c = 89;
cout<<"对联合体中字符赋值89(在char表示范围内),其int元素和char元素为:"<<u.i<<" "<<u.c<<endl<<endl;
u.c = 328;
cout<<"对联合体中字符赋值328(超出char表示范围),其int元素和char元素为:"<<u.i<<" "<<u.c<<endl<<endl;
cout<<"联合体大小(int,char,float各一个)其大小为:"<<sizeof(u)<<endl<<endl;;
system("pause");
}

附一篇好文Struct 和 Union区别
网友评论