C语言基础 -54 构造类型_共用体的描述、定义变量及占用内存问题

 

共用体:公用存储空间,以占用空间最大的元素为准

结构体:不共用,存储空间加总

#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);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章