c语言函数实现确定电脑大小端
时间: 2023-07-18 15:20:46 浏览: 254
可以通过以下代码实现判断电脑的字节序(大小端):
```c
#include <stdio.h>
int check_endian() {
int i = 1;
char *p = (char*)&i;
if (*p) {
return 1; // 小端模式
} else {
return 0; // 大端模式
}
}
int main() {
if (check_endian()) {
printf("This is a little-endian machine.\n");
} else {
printf("This is a big-endian machine.\n");
}
return 0;
}
```
在这段代码中,我们定义了一个函数 `check_endian()`,它创建了一个整型变量 `i` 并将其赋值为 `1`,然后使用指针 `p` 指向这个整型变量的地址,并将其强制转换为字符型指针。如果这台电脑是小端模式,则该指针指向的第一个字节应该是 `1`,因为在小端模式中,最低有效字节存放在地址最低处。如果是大端模式,则该指针指向的第一个字节应该是 `0`,因为在大端模式中,最高有效字节存放在地址最低处。
最后在 `main()` 函数中调用 `check_endian()` 函数,并根据返回值输出该电脑的字节序。
阅读全文