首页 > 编程语言 > 详细

【C语言】 检测大小端存储

时间:2015-11-24 06:24:06      阅读:237      评论:0      收藏:0      [点我收藏+]
#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吕小布” 博客,谢绝转载!

【C语言】 检测大小端存储

原文:http://survive.blog.51cto.com/10728490/1716154

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!