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;
}
相关推荐
2601_951643721 分钟前
1 章 C语言概述
c语言·编程语言·历史·标准·优缺点
玖玥拾2 小时前
C/C++ 数据结构(五)链表的应用、对象池
c语言·数据结构·c++·链表·对象池·双向链表
三品吉他手会点灯2 小时前
C语言学习笔记 - 48.流程控制2 - 什么是流程控制
c语言·开发语言·笔记·学习
AI thought2 小时前
C语言、C++与C#深度研究报告:从底层控制到现代企业级开发的演进
c语言·c++·c·内存管理·编译模型
我命由我123452 小时前
RFID 技术极简理解
java·c语言·c++·嵌入式硬件·物联网·visualstudio·java-ee
格发许可优化管理系统3 小时前
Mentor许可证与其他软件许可证的深度比较
java·大数据·运维·c语言·c++·算法
程序员zgh3 小时前
C++ 万能引用与完美转发
c语言·开发语言·c++·经验分享·学习
不会C语言的男孩4 小时前
Linux 系统编程 · 第 9 章:进程创建
linux·c语言·开发语言
AI+程序员在路上4 小时前
CSP、PP、PV、HM 在 CiA402 标准下的差异解析
linux·c语言·开发语言·嵌入式硬件
Seraphina_Lily4 小时前
深入底层:函数栈帧的建立、销毁与SP指针的本质
c语言