*大端小端由机器CPU决定。**ide
大端
低位高地址,高位低地址。函数
小端
低位低地址,高位高地址。code
#include<stdio.h> union un { int a; char b; }u; void main() { u.a = 1;//既赋值给 printf("%d\n", u.b); //a 0000 0000 0000 0000 0000 0000 0000 0001 //b 0000 0001 //b取的是低地址的8位,存在1则说明a的存储是低位存储在低地址,则为小端。 }
#include<stdio.h> int fun() { int a = 1; char *p = (char*)&a;//取四个字节的低地址的一个字节; return *p; //a的1值存放在低地址仍是高地址; } void main() { char c=fun(); if (c = 1) //char取低地址的一个字节 printf("小端\n"); else printf("大端\n"); }