引入
上节,我们学习了共用体,即所有成员的起始内存地址相同。共用体和结构体的定义方法差不多,我们说结构体和共用体最大的区别就是共用体的占用内存长度是成员中占用内存最长的,而结构体则是成员占用内存长度之和。
共用体特点
共用体和结构体有很多却别,那么这些区别造就了结构体和共用体各自什么样的特点呢?
存放成员
共用体是使用同一段内存存放不同类型的成员,但每一瞬间只能存放一个成员,不能同时存放几个。因为在每一个瞬间,存储单元只能有唯一的内容。
union Data{
int i;
char ch;
float f;
}a;
a.i=97;
//我们给 a 这个共用体变量的整型 i 赋值97
printf("%d\n",a.i); //输出97
printf("%c\n",a.ch); //输出「a」
printf("%f\n",a.f); // 输出0.000000
