目录
一、功能说明
该程序借助联合体成员共用同一块内存的特性实现大小端检测,联合体内部同时定义 int 整型与 char 字符变量,给整型变量赋值 1 后读取字符变量的值,若值为 1 说明数值低位字节存储在内存低地址,本机是小端模式,反之则为大端模式,最终在主函数中调用检测函数并输出本机字节存储方式。
二、代码展示
javascript
#include <stdio.h>
//构造checkEndian函数
int checkEndian()
{
union EndianTest
{
int num;
char ch;
}u;
u.num = 1;
return u.ch;
}
//测试
int main()
{
if(checkEndian())
{
printf("本机为小端");
}
else
{
printf("本机为大端");
}
return 0;
}
三、运行效果展示

四、总结
利用共用体共享内存的特点判断系统是大端还是小端存储模式。