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;
}
相关推荐
Byte Wizard15 小时前
C语言指针深入浅出3
c语言·开发语言
handler0115 小时前
速通蓝桥杯省一:二分算法
c语言·开发语言·c++·笔记·算法·职场和发展·蓝桥杯
爱编码的小八嘎16 小时前
C语言完美演绎9-27
c语言
武帝为此16 小时前
【C语言进程与线程】
c语言·开发语言
Byte Wizard16 小时前
C语言指针深入浅出4
c语言·开发语言
灵哎惹,凌沃敏16 小时前
CM3/CM4内核总线知识总结
c语言·arm开发·单片机
努力努力再努力wz16 小时前
【Qt入门系列】第一个 Qt Widgets 程序:项目创建、UI 文件、Hello World、对象树与 qDebug 日志
java·c语言·开发语言·数据结构·c++·qt·ui
_Evan_Yao17 小时前
零基础学编程,第一门语言选Python还是C?
c语言·开发语言·python
笨笨饿17 小时前
#85_库函数开发
linux·c语言·网络·stm32·单片机·算法·个人开发
50万马克的面包18 小时前
C语言:三大基础排序算法模板 冒泡 / 选择 / 插入)
c语言·笔记·算法·排序算法