gpt4 book ai didi

malloc - 什么是内存堆?

转载 作者:行者123 更新时间:2023-12-03 04:21:05 37 4
gpt4 key购买 nike

什么是内存堆?

最佳答案

大概您是从内存分配的角度来看,而不是从数据结构的角度来看(该术语有多种含义)。

一个非常简单的解释是,是动态分配的内存所在的内存部分(即通过malloc分配的内存)。从堆分配的内存将保持分配状态,直到发生以下情况之一:

  1. 内存已空闲
  2. 程序终止

如果对已分配内存的所有引用都丢失(例如,您不再存储指向它的指针),则出现所谓的内存泄漏。这是内存仍然被分配的地方,但是您不再有简单的方法来访问它。泄漏的内存无法回收用于将来的内存分配,但当程序结束时,操作系统将释放内存。

将其与堆栈内存进行对比,后者是局部变量(在方法中定义的变量)所在的位置。在堆栈上分配的内存通常只存在于函数返回之前(有一些异常(exception),例如静态局部变量)。

您可以在this article中找到有关堆的更多信息。 .

关于malloc - 什么是内存堆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2308751/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com