自定义类型联合体的特征是多个变量使用同一块内存空间,变量的数据类型不同访问的内存空间的视角和方式也不同。
整型1在小段机器的内存中的内容为01 00 00 00,而大端机器则是00 00 00 01,通过字符类型的变量来访问整型1的内存内容,在小端机器和大端机器中分别访问到的内容是01、00,以此判断机器为大端或小端。
#include <stdio.h>
int check(void)
{
union un
{
char ch;
int number;
}u;
u.number = 1;
return (int)u.ch;
}
int main()
{
if (check())
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
版权声明:本文为m0_64432106原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。