共用体也叫联合体(union),是c语言独有的一种数据类型,可以认为共用体的变量可以用来保存多个数据类型的数据,也可以认为是多个数据占用了同一块内存
比如说我们有一块内存空间,有的时候我们需要保存整数;有的时候我们需要保存字符;有的时候我们需要保存浮点数,那么我们就可以定义一个共用体
union <共用体名>{
共用体成员;
}
#include<stdio.h>
int main(){
union data{
int num;
float pi;
char content;
};
union data d;
d.num=18;
printf("共用体的值是%d,共用体占用的内存空间是%d",d.num,sizeof(d.num));
}
这里我们建立了一个共用体data,里面包含了三个成员,类型分别是int,float,char ,这说明我们可以把以上三种类型的数据放入到同一块内存当中,然后我们建立一个union data 类型的变量,对其中的num成员赋值,赋值之后结构体变量的大小是int类型的大小
我们再对结构体的另一个成员赋值
#include<stdio.h>
int main(){
union data{
int num;
double pi;
char * content;
};
union data d;
d.num=18;
printf("共用体的值是%d,共用体占用的内存空间是%dn",d.num,sizeof(d.num));