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;
}
相关推荐
玖玥拾7 小时前
C/C++ 基础笔记(七)
c语言·c++
2023自学中9 小时前
Linux虚拟机 CMakeLists.txt:x86 与 ARM 双架构编译脚本
linux·c语言·c++·嵌入式
himobrinehacken11 小时前
C/C++中字符编码与指针应用全解析
c语言·逆向
182******208312 小时前
2026年学C语言还有出路吗?学习需要报班吗?
c语言·开发语言·学习
luj_176813 小时前
局部两极分析破解数学建模难题
服务器·c语言·开发语言·经验分享·算法
bubiyoushang88814 小时前
基于 C/C++ 的 MQTT 物联网通信协议实现
c语言·c++·物联网
三品吉他手会点灯15 小时前
C语言学习笔记 - 46.运算符和表达式 - 运算符4 - 对初学运算符的一些建议
c语言·开发语言·笔记·学习
小四季豆16 小时前
《数据结构与算法》-顺序表:算法落地的第一个线性结构
c语言·数据结构·算法
jimy116 小时前
C语言中使用“结构体 + 函数指针”来模拟面向对象编程(OOP
c语言
三品吉他手会点灯16 小时前
C语言学习笔记 - 45.运算符和表达式 - 运算符3 - 逻辑运算符
c语言·笔记·学习