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

相关推荐
水饺编程39 分钟前
第5章,[Win32 章节] :Polygon 函数和多边形填充模式
c语言·c++·windows·visual studio
wuminyu40 分钟前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++
海盗12341 小时前
AI新闻日报_2026-08-27—— Qwen4/GLM-5.3-Flash 开源、OpenAI Agent 越狱事件、世界人形机器人运动会
人工智能·机器人·开源
猫先生Mr.Mao1 小时前
具身智能开放策略之Octo详解:开放策略如何把多机器人经验变成可微调的通用底座
机器人·论文解读·具身智能·通用机器人策略·octo
一木 之林1 小时前
C/C++ 面向对象编程(OOP)(进阶)
java·c语言·c++
LONGZETECH3 小时前
新能源汽车动力电池实训教学痛点与虚拟仿真技术解决方案
c语言·3d·unity·架构·汽车·汽车教学软件
星云API技术支持3 小时前
企业微信二次开发:外部群机器人如何把群消息接入工单系统?
机器人·企业微信
星云API技术支持。4 小时前
企业微信二次开发:外部群机器人,从群消息到业务系统如何打通?
机器人·企业微信
AI科技先锋报5 小时前
如何为陪伴机器人搭建自然的对话式 AI?技术链路与声网方案怎么选?
人工智能·机器人·语音识别
v_for_van6 小时前
C语言__attribute__
服务器·c语言·开发语言·mcu·嵌入式·嵌入式实时数据库