#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