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;
}
相关推荐
Zwawa2 小时前
编译器工具链:GCC、Clang、MSVC、ICC、armclang
c语言·嵌入式·编译器
学逆向的2 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
水饺编程3 小时前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
极客 - L U5 小时前
卡尔曼滤波从零到精通
c语言·数据结构·单片机·嵌入式硬件·mcu
谙弆悕博士7 小时前
用 C 写了个 Windows 聊天室,踩了几个多线程和控制台的坑
c语言·开发语言·c++·windows·网络编程·聊天室
水饺编程7 小时前
第2章:Linux 基础,删除用户
linux·c语言·汇编
小鱼仙官9 小时前
使用Qt封装C/C++ 动态库 用于第三方调用
c语言·c++·qt
FLJwu11 小时前
运动相机图像传感器选型实战|第二篇:参数看着一模一样,为什么骑行录像疯狂果冻、拖影翻车?
android·c语言·开发语言·数码相机·运动相机·oem 量产
Escalating_xu11 小时前
【C语言项目实战】贪吃蛇(下):移动、碰撞与计分,完成一局可玩的游戏
c语言·开发语言·游戏
C++ 老炮儿的技术栈12 小时前
机器人的坐标,像 XYZ 的坐标值,是用单精度浮点还是用双精度浮点?
c语言·c++·人工智能·单片机·c