C语言大端小端判断的一种方法
大小端对应于内存中的数据存储方式。
大端:高地址存低位,低地址存高位。
小端:高地址存高位,低地址存低位。
#include <stdlib.h>
int main()
{
int a=0x12345678;
char *p=(char *)&a;
printf("%x\t",*p);
printf("%x\t",*(p+1));
printf("%x\t",*(p+2));
printf("%x\t",*(p+3));
return(0);
}
定义一个整型变量用来存储0x12345678,然后定义一个字符型的指针变量p,使用类型转换指向这个整型。因为字符型指向的是8位,所以*p的值打印出来是8位的。直接给指针p+3,就可以得到最高地址存储的值(应该是连续存储的),为0x12。所以这个是小端模式。