C语言 判断当前存储大小端问题

1.代码1

c 复制代码
#include<stdio.h>

int check_sys(){
    int a=1;
     return *(char*)&a;
     //将int*强制转换为char* 判断一个字节的内容就知道当前存储模式
}
int main(){
    if(1==check_sys())
        printf("小端");
    else
        printf("大端");
    return 0;
}

2.代码2

使用联合体判断大小端。

char和int共用一段空间。将int赋值为1,判断char值,就相当于判断int中的第一个字节值是多少。

c 复制代码
#include<stdio.h>

int check_sys(){
 union un{
     char c;
     int  b;
 }u;
    u.b=1;
    //返回1 小端 返回0大端
    return u.c;

}
int main(){
    if(1==check_sys())
        printf("小端");
    else
        printf("大端");
    return 0;
}
相关推荐
bucenggaibian36 分钟前
C语言程序设计作业题
c语言·程序设计·常量·解答·作业题
小糯米6012 小时前
C语言 自定义类型:结构体 与 联合体
c语言·开发语言·数据结构
yzq1991272 小时前
10.C语言-表达式、左值与语句
c语言·指针·函数·表达式·语句
至为芯4 小时前
IP5356H_G3至为芯支持C口双向快充22.5W新国标移动电源方案芯片
c语言·开发语言
Byte Wizard5 小时前
自定义类型:联合和枚举
c语言·开发语言
搬砖的小码农_Sky6 小时前
macOS Sequoia上如何安装gcc/g++环境?
c语言·c++·macos
Das16 小时前
【408】C语言标识符
c语言·开发语言
weixin_456808386 小时前
【沁恒蓝牙开发】主机-筛选广播名主动发起连接
c语言·嵌入式硬件
格发许可优化管理系统7 小时前
解决Mentor许可冲突,让您的业务无缝运行
运维·服务器·c语言·c++·人工智能
LONGZETECH7 小时前
Unity 3D+C/S架构无人机数字孪生实训室:破解实训“三高”难题的底层技术实现
c语言·开发语言·3d·unity·架构·无人机