其实与结构体类似
定义示例:
union Data
{
int i;
float f;
char str[20];
} data1,data2;
注意:
共用体占用的内存应足够存储共用体中最大的成员,如上面的例子,占用内存空间为20字节
示例代码如下:
#include<stdio.h>
#include<string.h>
union Data{
int i;
float f;
char str[20];
};
int main(){
union Data data1;
data1.i=11;
//注意后面必须依次赋值后将其输出,如果出现数组大于20字节,会出现损坏
printf("data1.i:%d\n",data1.i);
data1.f=11.11;
printf("data1.f:%f\n",data1.f);
strcpy(data1.str,"Hello Aaron chen");
printf("data1.s:%s",data1.str);
return 0;
}