当前位置: 首页 > news >正文

联合体union的特殊之处

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

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

#include <stdio.h>int check_endian() {union {short s;        // 2 字节(short)char c[2];      // 2 字节(char)} u;u.s = 0x0102;       // 小端:0x02 0x01;大端:0x01 0x02return u.c[0] == 0x02;  // 小端返回 1,大端返回 0
}int main() {if (check_endian()) {printf("Little-Endian\n");} else {printf("Big-Endian\n");}return 0;
}

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

相关文章:

  • jetson nano上Ubuntu系统调用摄像头bug
  • 老电脑优化全知道(包括软件和硬件优化)
  • RASP技术是应用程序安全的“保护伞”
  • ​​HTTP vs HTTPS:传输协议的安全演进与核心差异​
  • 论文分享 | 基于区块链和签名的去中心化跨域认证方案
  • 【dify+docker安装教程】
  • Android 应用层卡顿优化全解析
  • gradle-tasks.register(‘classesJar‘, Jar)解析
  • 【Linux C/C++开发】向量检索库annoy开发
  • ai环境conda带torch整体迁移。
  • 实用的java技术架构组件汇总
  • 软考-软件设计师中级备考 7、算法设计与分析
  • STM32 HAL库实现USB虚拟串口
  • springboot项目文件上传到服务器本机,返回访问地址
  • 省哲学社科基金项目申请书(论证活页)模版框架参考
  • 【Linux】Java 开发者的 Linux 常用命令指南
  • 电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异
  • 力扣面试150题--K 个一组翻转链表
  • Linux0.11引导启动程序:简略过程
  • 深入蜂窝物联网 第三章 LTE-M(Cat-M1)详解:省电机制与移动特性
  • 新疆维吾尔自治区原质量技术监督局局长刘新胜接受审查调查
  • 新造古镇丨上海古镇朱家角一年接待164万境外游客,凭啥?
  • 港理大公布多项AI+医工成果,助港建设国际医疗创新枢纽
  • 五一期间上海景观照明开启重大活动模式,外滩不展演光影秀
  • 大学2025丨专访北邮校长徐坤:工科教育要真正回归工程本质
  • 起底网红热敷贴“苗古金贴”:“传承人”系AI生成,“千年秘方”实为贴牌货