动态内存管理

动态内存管理动态内存管理是什么动态内存管理,是操作系统允许程序员自由开辟地址空间,用户可以自由的申请,释放空间,来存放自己数据,但是用户自己申请的空间要自己来进行释放。它不像数组,静态内存那样,需要在程序运行之前就分配好内存空间。可以在程序运行时根据所需要的内存大小来自由分配。如果用完之后不合理释放,如果申请的过多而不释放,会导致内存空间不足,而导致程序崩溃。C/C++定义了四个内存区...
摘要由CSDN通过智能技术生成

动态内存管理

  1. 动态内存管理是什么
  • 动态内存管理,是操作系统允许程序员自由开辟地址空间,用户可以自由的申请,释放空间,来存放自己数据,但是用户自己申请的空间要自己来进行释放。它不像数组,静态内存那样,需要在程序运行之前就分配好内存空间。可以在程序运行时根据所需要的内存大小来自由分配。如果用完之后不合理释放,如果申请的过多而不释放,会导致内存空间不足,而导致程序崩溃。
  • C/C++定义了四个内存区间,分别为代码区,全局变量和静态变量区,局部变量区,即栈区。动态存储区,即堆区。
  • 通常定义变量时,编译器知道这个变量的类型,以及大小。系统在运行时,可以在适当时候为这个变量开启空间。这种分配内存的方式为静态存储分配。有些操作对象需要在运行时期才能确定类型以及大小。这时编译器就不知道要给这个对象创建多大的内存了,开多了浪费空间,开少了不够用,造成越界访问。这时就需要程序在运行时期来为这个对象动态的分配空间,需要多少给多少。这时就有了动态的存储内存的方法。这个方法就叫做动态内存管理。动态分配的空间都在堆上进行。
  1. 为什么要有动态内存管理
  • 不需要预先分配内存,根据具体对象大小分配。空间的大小可以根据程序的具体需要自行改变所需要内存大小。不会像静态分配那样,分配固定空间,导致的空间浪费以及空间不足等问题,当然除非对象所需空间比较确定。栈的空间比较小。堆的空间比较大。并且一部分空间用完之后可以进行释放,释放之后又可以进行申请,可以重复的使用有限的资源。
  1. 如何使用动态内存管理
    <
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值