#include <stdio.h>
#include<stdlib.h>
//结构体和共用体的区别
//结构体变量的大小是其所包含的所有数据成员大小的总和,其中每个成员分别占有自己的内存单元,而共用体的大小为所包含数据成员分别占有自己的内存单元;而共用体的大小为所包含数据成员中最大内存长度的大小
union DataUnion{
int iInt;
char cChar;
float fFloat;
} valriable;
//特点
//1.在同一内存段可以用来存放几种不同类型的成员,但是每一次只能存放其中一种,而不是同时存放所有的类型。也就是说在共用体中,只有一个成员起作用,其他的成员不起作用。
//2.共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有得成员就失去作用。
//3.共用体变量的地址和它的各成员的地址是一样的。
//4.不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。
int main(){
union DataUnion Union = {200};//共用体的声明并初始化
Union.iInt = 97;
printf("iInt:%d\n",Union.iInt);
printf("cChar:%c\n",Union.cChar);
printf("fFloat:%f\n",Union.fFloat);
Union.fFloat = 47.6f;
printf("iInt:%d\n", Union.iInt);
printf("cChar:%c\n", Union.cChar);
printf("fFloat:%f\n", Union.fFloat);
valriable.cChar = 'A';
printf("iInt:%d\n", valriable.iInt);
printf("cChar:%c\n", valriable.cChar);
printf("fFloat:%f\n", valriable.fFloat);
return 0;
}