联合体union的特殊之处

一个联合体union的长度等于其内部长度最大的成员的长度。

union的所有成员共享同一块内存空间,可以利用这个特性读取数据的字节存储方式。

c 复制代码
#include <stdio.h>

int check_endian() {
    union {
        short s;        // 2 字节(short)
        char c[2];      // 2 字节(char)
    } u;
    u.s = 0x0102;       // 小端:0x02 0x01;大端:0x01 0x02
    return u.c[0] == 0x02;  // 小端返回 1,大端返回 0
}

int main() {
    if (check_endian()) {
        printf("Little-Endian\n");
    } else {
        printf("Big-Endian\n");
    }
    return 0;
}

1,小端模式:内存的低地址存数据的低位,内存的高地址存数据的高位。低低高高。

2,大端模式:内存的低位存数据的高位,内存的高地址存数据的低位。 低高高低。

相关推荐
开发者联盟league44 分钟前
在cursor中配置c/c++开发环境
c语言·开发语言·c++
『昊纸』℃1 小时前
C语言简介
c语言·操作系统·编程语言·应用领域·历史发展
铮铭1 小时前
【论文阅读】世界模型发展脉络整理---Understanding World or Predicting Future? A Comprehensive Survey of World Models
论文阅读·人工智能·算法·机器人
刃神太酷啦2 小时前
《网络基础全链路深度解析:从Socket编程到HTTPS与TCP/UDP内核机制》----《Hello Linux!》(25)
linux·运维·c语言·网络·c++·tcp/ip·https
工业机器人销售服务2 小时前
无惧粉尘挑战:伯朗特机器人以密封与正压技术守护饲料码垛稳定运行
机器人
天下财经热2 小时前
大型商业场景适配:2026年商用清洁机器人实力横评
机器人
AI科技星3 小时前
全域数学·球面拓扑微扰标准系数η=0.01 应用详解(典籍正式版)
人工智能·算法·数学建模·数据挖掘·机器人
神仙别闹3 小时前
基于C语言实现(控制台)学生信息管理系统
c语言·开发语言
谙弆悕博士3 小时前
【附C语言源码】C语言 栈结构 实现及其扩展操作
c语言·开发语言·数据结构·算法·链表·指针·
你刷碗4 小时前
嵌入式UART printf 数据处理方法
c语言·单片机·嵌入式硬件·arm