联合体Union的特点
- 所有变量共用一段存储空间,以最大的成员变量确定存储空间
- 联合体的成员不管是在哪个架构上默认都是从低地址开始存储的
以下3种方式我都用main函数来写,其实几种方式可以封装成一个返回值为bool的函数,以便利用。
法2,采用赋值的方式
#include<stdio.h>
union test{
int a;
char b;
} n;
int main(){
n.a=0x00000001;
if(n.b==1)
printf("小端\n");
else
printf("大端\n");
return 0;
}
利用char占用1字节,但是int占用4个字节,
当小端时,分布如下:(char b的b永远在低地址开始分配)
当大端时,内存分布如下:(char b的b永远在低地址开始分配)