大端模式:字数据的高字节存储在低地址中,而字数据的低字节存放在高地址中。
小端模式:字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。
检查系统是大端模式还是小端模式
int checkSystem()
{
union check
{
int i;
char ch;
}c;
c.i = 1;
return (c.h==1); //等于1,小端模式
}
#include <stdio.h>
int main()
{
int a[5]= {1,2,3,4,5};
int* ptr1=(int*)(&a+1);
int* ptr2=(int*)((int)a+1);
printf("%x\n",(int)a); //30f63c
printf("%x\n",(int)a+1); //30f73d
printf("%x,%x\n",ptr1[-1],*ptr2); //5, 2000000
printf("%x",ptr2[0]); //2000000
printf("%x",ptr2[1]); //3000000
return 0;
}