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

【时时三省】(C语言基础)结构体的内存对齐

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

例题1:

这个结构体一共占多少个字节呢?

如果按每个类型的大小,然后加在一起来算的话,就是14个字节

但是14个字节是不对的

结构体的字节不是这样算的

这是为什么呢,就要来聊一下他的内存分布

内存是不会挤在一起的,比如double类型的a 在内存中后面不会直接跟着char类型的b

它是有一个规则的

确定变量位置:只能放在自己类型整数倍的内存地址上

就比如double类型的a,要往内存地址为0的这个地方存储,就是要看零是不是八的整数倍,很明显0是的,所以a就可以存进去,一直存8个字节,存到了7(因为是从0开始,存8个字节就是到7),都是变量a的空间

然后开始存变量b,变量b是占一个字节,8正好是1的整数倍,所以也可以存进去,就存到了8

然后开始存int类型的变量c,是占4个字节,9不是4的整数倍,所以需要存在12,12是离4最近的整数倍,存4个字节就到了15。9-11这块内存空间就空着了,c语言会自动填补3个空白字节在这里。

然后看最后一个变量d,是占1个字节,1的整数倍正好有16 所以就可以直接存进去

这四个变量存进去之后还没有完,这四个变量不是单独定义在函数中的普通变量,而是定义在结构体当中的,所以结构体额外还有一个规则,就是最后一个数据的补位情况

最后一个补位:结构体的总大小,是最大类型的整数倍

上面那个结构体的最大类型是double类型,所以他这个结构体所占用的总字节一定是八的整数倍,现在一共占用了17个字节,17不是8的整数倍,所以在变量d的后面还要继续补空白字节,补了7个空白字节,所以这个结构体一共占了24个字节。

http://www.jsqmd.com/news/342848/

相关文章:

  • 数据平台全景与角色分工——OLTP、OLAP、批/流与数据湖的版图与边界
  • 中国香港股市估值:国际金融中心的市场特点
  • C语言:2026.2.2 (链表)
  • Halo Docker 迁移方式
  • Servlet 进阶!生命周期+3种创建方式+前后台传参,一篇吃透
  • 6款AI论文神器实测:真实参考文献、查重率低、原创度高,轻松搞定论文! - 麟书学长
  • Novel-Plus has business logic vulnerabilities.
  • 程序员入行AI大模型应用开发必须学算法吗?2026最新AI大模型应用开发的核心技术学习线路看这里
  • 【毕业设计】基于springboot+大数据的果园管理系统(源码+文档+远程调试,全bao定制等)
  • 7.4 Kubernetes存储故障排查:PV挂载失败、存储类问题诊断技巧
  • 大模型Agent Skills学习路线:从技能市场到数据预测,一篇搞定
  • 大数据计算机毕设之基于springboot+大数据的果园管理系统_数据可视化大屏分析系统(完整前后端代码+说明文档+LW,调试定制等)
  • 7.3 Kubernetes网络故障排查:CNI插件、Service、Ingress问题诊断
  • 告别金鱼记忆:为AI助手构建人类级记忆系统的完整指南
  • 7.2 Kubernetes备份恢复实战:etcd数据备份与集群灾难恢复方案
  • 22岁女生如何从新闻专业转行成为字节AIGC产品经理
  • 利用 Nimbus-7 SMMR 和 DMSP SSM/I-SSMIS V004 数据进行海冰浓度自举法计算
  • 【计算机毕业设计案例】基于大数据的智慧果园管理系统基于springboot+大数据的果园管理系统(程序+文档+讲解+定制)
  • 6.6 生产级微服务治理总结:从开发到部署的完整最佳实践
  • 零基础进阶大模型实战高手:从Transformer到企业级部署全攻略
  • AI大模型开发学习路线图详解:从入门到精通,你的完整学习指南!_大模型开发入门
  • 6.9 微服务治理最佳实践:服务发现、负载均衡、超时重试完整方案
  • 碳中和经济学:新约束下的宏观与行业趋势
  • 6.10 生产级微服务治理总结:从开发到部署的完整最佳实践
  • 程序员必看!微软免费生成式AI课程:从基础概念到实战应用,21节课掌握大模型开发(建议收藏)
  • 2026标准数字时钟系统厂家推荐榜:五家技术型供应商深度解析与场景化选型指南 - 深度智识库
  • 精通大数据领域的数据科学技能
  • 深入理解Agent Skills与MCP:构建AI智能体的必备技能,建议收藏学习
  • 2026标准数字时钟系统厂家推荐榜 高精度多场景适配优选指南 - 深度智识库
  • AI产品经理全景图:技术翻译官、行业解题者与平台建设者,建议收藏阅读