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

C语言结构体 变量对齐原理

以32位Linux为例,默认对齐值是4.  

对齐原则通常有以下几种:

  1. 第一个成员在与结构体变量偏移量为0的地址处。
  2. 其他成员变量要对齐到某个数字(对齐参数)的整数倍的地址上。
  3. 结构体总大小为最大对齐参数的整数倍。
  4. 嵌套结构体要对齐到自身最大对齐参数的整数倍。
  5. 结构体数组中的每个元素都是相互独立的。
以该结构体为例进行讲解:
struct S1 {char c1;   // 1个字节int i;     // 4个字节char c2;   // 1个字节
};结果:sizeof(S1) = 12;


http://www.mrgr.cn/news/63732.html

相关文章:

  • 网络通信与并发编程(八)I/O模型
  • HJ38 求小球落地5次后所经历的路程和第5次反弹的高度
  • 在元神操作系统启动时自动执行任务脚本
  • 【Spring】Spring Boot 配置文件(7)
  • leetcode71:简化路径
  • 【CSS】CSS 样式重置 (normalize.css 和 reset.css) 和通用样式配置
  • MySQL-如果你在添加外键时忘加约束名,如何找到系统默认的约束名
  • vue2开发 对接后端(go语言)常抛异常情况以及处理方法汇总
  • 智能合约中的AI应用
  • 构造小练习
  • 最逼真的AI换脸软件,Pluse下载介绍(可直播)
  • LeetCode994. 腐烂的橘子(2024秋季每日一题 54)
  • C++ 模版(初阶)
  • Proteus中单片机IO口外接LED输出低电平时,引脚却一直保持高电平的问题(已解决)
  • 高清解压视频素材从哪儿下载?推荐5个高清推文素材资源网站
  • Excel:vba实现插入图片
  • Pandas CSV学习
  • tensorflow案例4--人脸识别(损失函数选取,调用VGG16模型以及改进写法)
  • 网络:IP分片和组装
  • 拓展:C++程序结构
  • 【系统架构设计师】预测试卷一:论文(包括4篇论文主题对应的写作要点分析)
  • 基于Python爬虫与文本挖掘的网络舆情监控系统【附源码】
  • Java项目实战II基于Java+Spring Boot+MySQL的植物健康系统(开发文档+数据库+源码)
  • 数字IC后端实现之Innovus Place跑完density爆涨案例分析
  • std::bind 的用法
  • 车载总线系列 --- CAN FD简介