优雅的判断大小端的程序,C语言实现
时间: 2024-05-08 09:17:54 浏览: 89
以下是C语言实现的判断大小端的程序:
```c
#include <stdio.h>
int main() {
unsigned int num = 0x12345678;
unsigned char *p = (unsigned char*) #
if (*p == 0x78) {
printf("Little Endian\n");
} else {
printf("Big Endian\n");
}
return 0;
}
```
解释:
1. 定义一个无符号整数`num`,其十六进制表示为`0x12345678`。
2. 将`num`的地址强制转换为`unsigned char*`类型指针,并将其赋值给指针变量`p`。
3. 判断`p`指向的内存中的第一个字节的值,如果为`0x78`,则说明是小端字节序;否则说明是大端字节序。
4. 根据判断结果输出相应的信息。
5. 返回0,表示程序正常结束。
阅读全文