大小端
大端:高位存低地址 //1->0x10000000
小端:高位存高地址 //1->0x00000001
联合体判断大小端
因为联合体是共用内存的,因此可以定义一个int型的和一个char型的,给int型赋值,通过char型访问,判断大小端。
#include <stdio.h>
union Un
{
int a;
char b;
};
int main()
{
union Un un;
un.a = 1; // 此时内存空间为0x00000001
int num = un.b;
if (num == 1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
}
访问方式判断大小端
定义一个int型的数,通过char去访问
#include <stdio.h>
int main()
{
int a = 0x11223344;
char num = (char)a;
if (num == 0x44)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
}