什么是大小端存储
根据不同主机的存储方式可以分为大端存储与小端存储
小端存储:
地址低位存数据地位,地址高位存数据高位
大端存储:
地址低位存数据高位,地址低位存数据低位
if else 语句判断大小端
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a = 0x12345678;
//强转成char* 类型后指针指向一个字节的空间
char *p = (char *)&a;
if(0x78 == *p){
printf("小端\n");
}else if(0x12 == *p){
printf("大端\n");
}
return 0;
}
使用联合体判断大小端
#include <stdio.h>
union {
char a;
int b;
}A;
int main(int argc,const char * argv[])
{
A.b = 0x12345678;
if(A.a == 0x78){
printf("小端\n");
}else if(A.a == 0x12){
printf("大端\n");
}
return 0;
}