代码:
#include<stdio.h>
int check_sys() {int a = 1;return *(char*)&a;//小端retrun 1 大端return 0;
}
int main() {if (check_sys() == 1) {printf("小端\n");}elseprintf("大端\n");
}
这里首先取a
的地址,强制转换成char*
之后再解引用,也就是将a
地址的第一个字节取出来看值了。参考上面的表格,如果是小端存储,那么a
地址里的第一个字节就是01
,否则是00
。这样就实现了大小端的判断。
理解大小端字节序:
大小端字节序指的是数据在电脑上存储的字序节顺