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

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

http://www.xdnf.cn/news/2896.html

相关文章:

  • 软件测试实验报告3 | 自动化测试工具的基本操作
  • 局域网传文件——基于flask实现
  • 9.Three.js中 ArrayCamera 多视角相机详解+示例代码
  • RISCV学习(5)GD32VF103 MCU架构了解
  • 修改Hosts文件没有生效的解决办法
  • LM393比较器的比较翻转电压不对
  • seaborn数据统计可视化-介绍
  • 需要掌握的前端安全概念以及实操
  • 【React Native】精通 react native
  • 第十四届蓝桥杯Scratch03月stema选拔赛——九九乘法表
  • 城市群出行需求的时空分形
  • 工厂设计模式
  • GRPO vs SFT:强化学习提升大模型多模态推理泛化能力的原因研究
  • 2.2.1goweb内置的 HTTP 处理程序
  • Daytona - 开源开发环境管理器
  • 【前端】CSS实现div双背景图叠加
  • QTableView复选框居中
  • Java多线程入门案例详解:继承Thread类实现线程
  • 将本地Springboot项目部署到Linux服务器
  • Web开发之三层架构
  • 从困局到破局的AI+数据分析
  • vscode以管理员身份运行报错
  • 用 Python打造交互式图片-音视频管理器:代码分析与实践
  • 厚铜pcb生产厂家哪家好?
  • 深入解析C2服务器:网络攻击的核心枢纽
  • 莫队算法学习笔记
  • Spring-全面详解(学习总结)
  • 具身智能机器人的应用场景及最新进展
  • Java写项目前的准备工作指南(技术栈选择 环境搭建和工具配置 项目结构设计与模块划分)
  • springboot 视频分段加载在线播放