16、C语言深度学习笔记--C代码对应的存储
一、介绍
C代码中变量、代码段等都有对应存储的分段,理解清楚它们之间的关系,有助于理解一些bug。
二、存储器图
三、详解
1、堆存储小结
(1)可以用malloc()函数在堆上申请空间。该函数返回的是一个指针。
(2)堆的空间是有限的,要合理使用。
(3)使用栈时,不需要关心存储器,栈的使用过程时自动管理的。离开函数后,局部变量就会自动从栈中清除。
(4)堆和栈不一样,一旦申请堆上空间会一直占用,直至释放free()。所以代码中不断地申请堆空间,很快就会发生存储器泄漏。
(5)”垃圾收集“(garbage colloection): 一些语言会跟踪你在堆上分配的数据。当用户不再使用这些数据时,就会释放它们。C语言比较悠久,那时还没有出现自动”垃圾回收机制“。致谢
1、《嗨翻C》