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_951645741 小时前
C语言基础语法,分支语句
c语言·运算符·if语句·switch语句·分支语句
dtq04241 小时前
C语言刷题函数1-判断素数(分支语句,函数两种方法)
c语言·开发语言·学习
AI科技星1 小时前
第四卷:橡皮泥江湖(拓扑学)
c语言·开发语言·网络·量子计算·agi·拓扑学
2601_951643881 小时前
关于C语言中getchar()的详细使用
c语言·输入输出·getchar()·eof·文件结束符
小七在进步2 小时前
数据结构:线性表之单链表
c语言·数据结构
鱼子星_2 小时前
【数据结构】排序的拓展——快速排序的生态多样性与归并排序沾染文件操作
c语言·数据结构·算法
dtq04243 小时前
C语言刷题函数2 - 用函数实现数组操作
c语言·开发语言
芯岭技术郦3 小时前
MS32C001‑C:极致成本 32 位 MCU
c语言·开发语言·单片机
玖玥拾12 小时前
C/C++ 基础笔记(十四)多态与模板编程
c语言·c++·多态·模板
caimouse16 小时前
Reactos 第1章 概述
c语言·开发语言·架构