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;
}
相关推荐
我叫洋洋11 小时前
Allegro 画布“垃圾显示“清理指南:把板子调成干净工作台(实战总结)
c语言·c++·单片机·嵌入式硬件·eda·嘉立创
wuminyu11 小时前
JVM规范学习总结-Class文件结构
java·linux·c语言·jvm·c++
H.莓飛12 小时前
【数据结构】归并与外排序
linux·服务器·c语言·开发语言·数据结构·visual studio
xiaobobo333012 小时前
关于c语言循环结构的一些思考
c语言·业务逻辑·流程控制·循环结构·移植+输入
Navigator_Z12 小时前
LeetCode //C - 1304. Find N Unique Integers Sum up to Zero
c语言·算法·leetcode
晓蛋12 小时前
C语言第1章概述.ppt
c语言·程序设计·概述·关键字·编译环境
学逆向的21 小时前
C 枚举变量
c语言·开发语言·网络安全
冷凝雨1 天前
前导零、后导零、最高有效位、最低有效位计算(C)
c语言
鸥梨菌Honevid1 天前
C 语言 restrict 关键字深度解析:从“独占访问”承诺到编译器激进优化
c语言
水饺编程1 天前
第2章:Linux 基础,切换用户
linux·c语言·汇编