小端模式:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端
大端模式:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端
#include<stdio.h>
void main()
{
int i=0x12345678;
char *p=(char *)&i;//通过强转将int类型(4字节)转换为char类型(1字节)指针变量p指向i的起始字节(低字节)
if(*p==0x12)//如果低字节存放高数据 那么就是大端模式
{
printf("big\n");
}
else
printf("small\n");
}
用联合体判断大小端
#include<stdio.h>
union stu //联合体union的存放顺序是所有成员都从低地址开始存放,而且所有成员共享存储空间
{
int i;
char ch;
}d;
void main()
{
d.i=0x12345678;
if(d.ch==0x12)//低字节存的是数据的高字节数据
{
printf("big\n");
}
else
printf("small\n");
}