当前位置: 首页 > 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)详解:省电机制与移动特性
  • 巴基斯坦军方称印度袭击已致26死46伤
  • 央行:增加支农支小再贷款额度3000亿元
  • 重磅金融政策密集发布!一文梳理这场国新办发布会
  • 短剧剧组在贵州拍戏突遇极端天气,演员背部、手臂被冰雹砸伤
  • 马上评|比起奇葩论文,更可怕的是“水刊”灰产
  • “穿越看洪武”,明太祖及其皇后像台北故宫博物院南园展出