联合体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,大端模式:内存的低位存数据的高位,内存的高地址存数据的低位。 低高高低。

相关推荐
沫儿笙6 小时前
库卡弧焊机器人白车身焊接节气装置
人工智能·机器人
Hello:CodeWorld7 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
十月的皮皮8 小时前
C语言学习笔记20260606- 求月份天数三种写法
c语言·笔记·学习
caimouse9 小时前
Reactos 第 5 章 进程与线程 — 5.8 Windows 的 APC 机制
c语言·windows
努力攻坚操作系统12 小时前
编程语言编译运行机制对比:C / Java / Python
java·c语言·python
四方云12 小时前
2026电销外呼机器人选型避坑指南:技术维度拆解企业电销拓客痛点解决方案
机器人
学会去珍惜12 小时前
C语言简介
c语言·开发语言
中讯慧通12 小时前
无人机靠什么实时传画面?图传电台传输数据全明细
大数据·机器人·无人机
今日综合13 小时前
激光雷达的机器人市场竞争,谁在“吃透”六个场景?
大数据·机器人
凡人叶枫13 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++