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;
}
相关推荐
串口哑火达人5 小时前
(六)RT-Thread网络通信--AT组件与ESP8266
c语言·单片机·嵌入式硬件·mcu·物联网
爱编码的小八嘎8 小时前
C语言完美演绎3—8
c语言
Irissgwe9 小时前
C&C++内存管理
c语言·开发语言·c++·c++内存管理
雾岛听蓝9 小时前
C文件操作与系统IO
linux·c语言·开发语言·经验分享·笔记·算法
Yupureki10 小时前
《C++实战项目-高并发内存池》3.ThreadCache构造
服务器·c语言·c++·算法·哈希算法
spiritualfood10 小时前
蓝桥杯大学b组水质检测
c语言·c++·算法·青少年编程·职场和发展·蓝桥杯
01二进制代码漫游日记13 小时前
C/C++中的内存区域划分
c语言·jvm·数据结构·学习
炸膛坦客13 小时前
单片机/C语言八股:(三)C 语言编译器的优化功能,包括 keil(仅作了解)
c语言·单片机·嵌入式硬件
人道领域13 小时前
【绝对干货】C语言常量,变量,内存全方位总结:从入门到精通,这一篇就够了!
c语言·开发语言
代码改善世界14 小时前
【数据结构】八大排序算法详解(C语言实现)|插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序
c语言·数据结构·排序算法