小甲鱼C++ 33 动态内存管理

本文是C++入门学习笔记,介绍了动态内存管理概念。对比了静态内存和动态内存,指出静态内存大小固定,而动态内存可在程序运行时分配,使用new申请、delete释放。还提及NULL指针的含义及使用动态内存的注意事项,如避免内存泄漏等。

写在前面:作为一只小白,感谢小甲鱼老师提供这么好的入门课程。因此在这里做个笔记,如有侵权请联系删除

www.fishc.com

①动态内存管理地概念

》》》到目前为止,小甲鱼给大家所讲解地每一个示例程序在完成它的任务时所使用地内存空间都是固定不变的。

》》》这个固定不变的内存空间其实不是在编写程序时候就可以知道和确定(一般以变量的形式)。这些程序都不能再程序运行期间动态增加或减少内存空间。

》》》但小时候,性感而卡哇伊的物理老师告诉我们:这个世界没有完全静止的东西!现实世界时动态的!

》》》所以,C++也必须支持动态内存管理内存,而这节课,小甲鱼正式跟大家介绍。

》》》你见过要求用户输入的文本必须不多于多少个字符的程序吗?不可能吧!

》》》在很多时候,需要存储的数据量到底有多大在事先往往是个未知数,要想处理好这类情况,就需要在C++程序里使用动态内存。

》》》动态内存支持程序猿创建和使用种种能够根据具体需要扩大和缩小的数据结构,它们只受限于计算机的硬件内存总量和系统特殊约束。

②静态内存

》》》静态内存就是我们此前一直在使用的东西:变量(包括指针变量),固定长度的数组,某给定类的对象。我们可以在程序代码里通过它们的名字或者地址来访问和使用它们。

》》》而使用静态内存的最大弊端是,你不得不在编写程序时为有关变量分配一块尽可能大的内存(以防不够存放数据)。一旦程序开始运行,不管实际情况如何,那个变量都将占用那么多的内存,没有任何办法能改变静态内存的大小。

③动态内存

》》》动态内存由一些没有名字,只有地址的内存块构成,那些内存是在程序运行期间动态分配的。

》》》它们来自一个由标准c++库替你管理的内存池

》》》从内存池申请一些内存需要用new语句,它将根据你提供的数据类型分配一块大小适当的内存。你不必担心内存块的尺寸问题,编译器能够记住分配每一种数据类型的单位长度并迅速计算出需要分配多少个字节。

》》》如果有足够的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值