C语言——共用体

作者 : admin 本文共585个字,预计阅读时间需要2分钟 发布时间: 2024-06-10 共1人阅读

struct demo

{

int a;

char b;

short c;

}

计算机早期的时候能否尽量节省空间?

共用体技术:

可以让多个变量共用同一块内存空间

语法:

union 共用体名

{

成员列表;

}

用共同体判断本台电脑大小端:

#include
union demo
{
	
	int a;
	char b;
	short c;

};
int islittleEndian(void)
{
	union 
	{
		int a;
		char b;
	}d={1};

	return d.b ;

}
int main(void)
{
#if 0
	printf("sizeof(union demo)=%ld
",sizeof(union demo));
	union demo d={0x12345678};
	printf("d.a=%#x
",d.a);
	printf("s.b=%#x
",d.b);
	printf("d.c=%#x
",d.c);
#endif
	printf("%d
",islittleEndian());
	return 0;
}

返回值是1——。数据的最低有效字节存储在最低的内存地址上,该电脑是小端。

注意:

  1.共用体初始化时,只能给一个值,这个值默认时给到第一个成员的 
  2.共用体空间中数据,取决最后一次给到值 
    赋值的时候,每个成员只能影响,自己对应的字节
  3.共用体类型
    可以定义变量
    可以定义数组
    可以定义指针 
    可以做函数参数 和 返回值 

4.使用共用体可以节省空间。

本站无任何商业行为
个人在线分享 » C语言——共用体
E-->