C 检查小端存储还是大端

#include 

int main() {
    unsigned int i = 1;
    char *c = (char*)&i;
    if (*c)    
        printf("小端字节序\n");
    else
        printf("大端字节序\n");
    return 0;
}

该程序就是利用了强转舍弃
我们首先定义了一个无符号整数i并将其初始化为1。然后,我们创建了一个字符指针c并将其指向i的地址。由于c是一个字符指针,所以它只会指向i的第一个字节。如果系统是小端字节序,那么最低位字节将被存储在内存的最低地址,所以c将等于1。如果系统是大端字节序,那么最高位字节将被存储在内存的最低地址,所以c将等于0

你可能感兴趣的:(C++/C,#小工具,c语言)