和小白一起学数据结构四之存储分配问题

本文是和小白一起学数据结构系列的第四篇,主要讨论C语言中结构的存储分配问题和动态存储分配。介绍了如何通过优化结构成员顺序减少边界对齐带来的空间损失,以及malloc和free函数在动态内存管理中的作用。
摘要由CSDN通过智能技术生成

和小白一起学数据结构(四)

昨天博主遇到十一点后发文不过审的问题,非常糟心。想弃了cdsn这枚小贱人(哼),但又想到和博主小白一起学习的你们,还是决定以后更新时间放在晚上十点之前(看来第二天的文要提前写了qaq)。

我们今天来干嘛,今天就跟博主一起好好梳理复习一遍c语言中涉及到的内存分配问题。有些同学跟博主反映博客东西太基础了,要小博加一些高大上的内容,emmm,说到这个高大上啊,例如卷积神经网络、人脸语音智能识别等等这种东西的学习,首先要打好扎扎实实的数理基础才行。当下整个业界包括学校的风气都有些浮躁,刚学了几行python代码就开始搞人工智能,刚学了几个c语法知识就开始自己搞编译器,您觉得可行吗?

承认学计算机要有折腾的精神,但我们自己不能无头苍蝇一样瞎折腾,行动本身才是目的,立足于踏踏实实的土地上,唯有如此,我们生命和技术的力量才不至于枯竭。来吧,搓搓手继续啃基础~

一、结构的存储分配

在座各位,肯定都明白机器内存分配对程序的运行效率有多重要。今天,首先我们就来梳一遍结构的存储分配问题。编译器按照成员列表的顺序,依次给每个成员分配空间。只有当存储成员时满足正确的边界对齐要求时,成员之间才可能出现用于填充的额外空间

系统禁止编译器在一个结构的起始位置跳过几个字节来满足边界对齐的要求,因此所有结构的存储位置必须是结构中边界要求最严格的数据类型所要求的位置。

如何优化内存的利用率呢?

  • 在声明
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值