请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)
#include <stdio.h>
int check()
{
int i = 1;
return (*(char*)&i);
}
int main()
{
int c=re_check();
int c = check();
if (c == 1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
取1的地址,将其强制转换为char*类型的地址,解引用取的就是地址第一位。
结果:
或者:
用联合体,联合体的知识快点想起来!
int re_check()
{
union
{
int i;
char c;
}un;
un.i = 1;
return un.c;
}
int main()
{
int c=re_check();
if (c == 1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
也能得到同样的结果。
如果有什么疑问,欢迎各位在评论区与博主友好讨论!
点赞+评论+收藏+关注~感谢支持哦!C语言笔记系列持续更新中……