#include <stdio.h> bool issmall(); int main() { if (issmall()) { printf("Little \n"); } else { printf("Big\n"); } 262 657的二进制是 0000 0000 0000 0100 0000 0010 0000 0001 如果是Intel PC(Little-endian),这个数字将存储为 字节地址:00 01 02 03 0000 0001 0000 0010 0000 01000000 0000 如果是Motorola处理机的Mac机,在内存中摆放如下: 字节地址:00 01 02 03
0000 0000 0000 0100 0000 00100000 0001
//上面的判断测试出你的机子的类型 //下面的代码是对大小端的理解及运用 int a[5]={1,2,3,4,5}; int *p1=(int *)(&a+1); int *p2=(int *)((int)a+1); printf("%x %x\n",p1[-1],*p2); return 0; } bool issmall() { union{ int j; char c; }temp; temp.j=1; if (1==temp.c) { return true; } else return false; }