共用体:公用存储空间,以占用空间最大的元素为准
结构体:不共用,存储空间加总
#include <stdio.h>
#include <stdlib.h>
union test_un
{
int i;
float f;
double d;
char ch;
};
int main()
{
union test_un a;
a.f = 123.456;
printf("%f\n",a.f) ;
exit(0);
}
#include <stdio.h>
#include <stdlib.h>
union test_un
{
int i;
float f;
double d;
char ch;
};
int main()
{
union test_un a;
a.f = 123.456;
printf("%d\n",sizeof(a)); //显示空间最大的的那个单元,double,8字节
printf("%f\n",a.f); //原样a.f输出
printf("%d\n",a.i); //由于i未赋初值,输出为任意值,无意义,不能这么使用
exit(0);
}