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

结构体、共用体的字节对齐

结构体

结构体嵌套时:先算一下嵌套的结构体大小

嵌套进来的结构体大小为16字节,仍然进行,8字节对齐

typedef struct 
{char name[20];//20字节//000开始   20字节  019 struct{int day;    //000开始   4字节   003char swx;   //004开始   1字节   005short year; //006开始   2字节   008(空1字节)}p1;            //本结构体公8字节,8字节对齐//024开始   8字节   031(空x字节)struct{short month;    //000开始   2字节   001long num;       //008开始   8字节   017(空6字节)  }p2;                //本结构体16字节,8字节对齐//032开始   16字节  047
}LibraryRecord;
//最宽成员16字节;但是8字节对齐;
//本结构体48字节

共用体

共用体也有字节对齐

共用体只有在有数组的情况下,考虑字节对齐

数组不是以整体为对齐量,是以单个成员所占用的字节大小考虑对齐量

Union asm
{int arr[5];     //占用4*5=20字节long int a;     //占用8字节
};
//最宽成员为8字节;8字节对齐
//共用体字节大小:24字节

http://www.lryc.cn/news/511199.html

相关文章:

  • 【YOLOv3】源码(train.py)
  • 帧缓存的分配
  • 基于顺序表实现队列循环队列的处理
  • 磁珠选型规范
  • linux 点对点语音通话及直播推流实践一: linux USB声卡或耳机 基本配置
  • 3DMAX镂空星花球建模插件FloralStarBall使用方法
  • window 安装 nodejs
  • Autoware Universe 安装记录
  • 每天40分玩转Django:Django部署概述
  • 使用VS Code开发ThinkPHP项目
  • 基于深度可分离卷积的MNIST手势识别
  • Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
  • Word批量更改题注
  • Springboot配置嵌入式服务器
  • 正交三角函数全面阐述
  • 《Vue3 四》Vue 的组件化
  • linux中,mysql数据库分片(分库分表)
  • springboot503基于Sringboot+Vue个人驾校预约管理系统(论文+源码)_kaic
  • Docker应用-项目部署及DockerCompose
  • 从0入门自主空中机器人-2-1【无人机硬件框架】
  • Kafka高性能设计
  • Redis字符串底层结构对数值型的支持常用数据结构和使用场景
  • uniapp 微信小程序 数据空白展示组件
  • 在vscode的ESP-IDF中使用自定义组件
  • 目标检测,语义分割标注工具--labelimg labelme
  • 发明专利与实用新型专利申请过程及自助与代办方式对比
  • Datawhale AI冬令营(第二期)动手学AI Agent task2--学Prompt工程,优化Agent效果
  • 基于python对网页进行爬虫简单教程
  • 【JavaEE进阶】@RequestMapping注解
  • 【WebAR-图像跟踪】在Unity中基于Imagine WebAR实现AR图像识别