#include <stdio.h>int main() {unsigned int i = 1;char *c = (char*)&i;if (*c) printf("小端字节序\n");elseprintf("大端字节序\n");return 0;
}
该程序就是利用了强转舍弃
我们首先定义了一个无符号整数i并将其初始化为1。然后,我们创建了一个字符指针c并将其指向i的地址。由于c是一个字符指针,所以它只会指向i的第一个字节。如果系统是小端字节序,那么最低位字节将被存储在内存的最低地址,所以c将等于1。如果系统是大端字节序,那么最高位字节将被存储在内存的最低地址,所以c将等于0