共用体也称为联合(Union).
将不同类型的数据组织在一起共同占用同一段内存的一种自定义数据
其语法格式与结构体相似(如下):
union <共用体标识名称>
{
数据类型 成员 1;
数据类型 成员 2;
..........
};
如:
union example
{
int i;
float f;
char ch;
double d;
char arr[16];
};
与结构体相同,声明共用体并不分配内存空间;
定义共用体变量语法如下:
union<共用体标识名称><变量名称>;
如:
union example exam;
同样共用体成员的引用与结构体类似:
语法如下:
共用体变量名.成员名
如:exam.i=97;
共用体代码示例:
#include<stdio.h>
#include<string.h>
union example
{
int i;
float f;
char ch;
double d;
char arr[16];
};
int main()
{
union example exam={97};
printf("字节数:%d\n",sizeof(exam));
exam.i=97;
printf("%d\n",exam.i);
strcpy(exam.arr,"abc");
printf("%s\n",exam.arr);
printf("%X\n",exam.i);
return 0;
}