#include <stdio.h> int sys_check() { int i = 1; char *pi = (char *)&i; //强制类型转换为char *,取首字节的内容,用以判断条件 //if (1 == *(char *)&i) if (*pi == 1) { return 1; } else { return 0; } } int main() { int ret = sys_check(); if (ret == 1) { printf("little\n"); //小端存储 } else { printf("big\n"); //大端存储 } return 0; } 此外,可以使用联合体(共用体) union: 封装另一个共同功能的函数: (main函数缺省) int sys_check() { union UN { int i; char c; }un; un.i = 1; if (un.c == 1) { return 1;//返回1表示小端 } else { return 0;//返回0表示大端 } }
本文出自 “Vs吕小布” 博客,谢绝转载!
原文:http://survive.blog.51cto.com/10728490/1716154