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;
}
相关推荐
cmpxr_1 小时前
【C】数组名、函数名的特殊
c语言·算法
itman3013 小时前
C语言怎么学?从写程序到玩指针的实操攻略
c语言·指针·结构体·编程学习·资源推荐
kang_jin4 小时前
C语言结构体入门:stu定义与成员使用
c语言·教程·编程语言·入门·结构体
独小乐5 小时前
012.整体框架适配SDRAM|千篇笔记实现嵌入式全栈/裸机篇
c语言·汇编·笔记·单片机·嵌入式硬件·arm·gnu
li1670902708 小时前
第十章:list
c语言·开发语言·数据结构·c++·算法·list·visual studio
笨笨饿8 小时前
# 52_浅谈为什么工程基本进入复数域?
linux·服务器·c语言·数据结构·人工智能·算法·学习方法
Shadow(⊙o⊙)8 小时前
static与extern使用
c语言·学习
范纹杉想快点毕业9 小时前
Zynq开发视角下的C语言能力分级详解
c语言·开发语言
橘子编程10 小时前
GoF 23 种设计模式完整知识总结与使用教程
java·c语言·开发语言·python·设计模式
意疏10 小时前
【C语言】解决VScode中文乱码问题
c语言·开发语言·vscode