程序退出时 malloc 申请的内存会自动释放吗

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:33:41
不用free(),程序退出时 malloc() 申请的内存会自动释放吗
.

那用了链表以后,是不是要一个一个得逐个释放内存啊,多麻烦啊。


可是为什么好多教程中 使用了malloc建立链表后,都没有释放内存的语句?
.
可是书本中也没有见到啊?

谭浩强 的那本《C程序设计》,第三版。

如果你是调试程序的话,不会造成内层泄露,因为这样的话,程序是有系统监管的。
如果你是在独立运行程序而不是在调试状态的话,就会造成内存泄露了,因为你分配的内存没有释放啊!
所以,一个可用的程序一旦用了malloc,就需要free来释放已经分配的内存啊!

人家的做法,在链表中,用free销毁是在链表或结点删除销毁的时候执行的,可能人家没有贴出来销毁链表的函数啊
看是不是该加分了?

当然会,所谓内存泄露,指的是在程序运行期间,申请的空间没有得到释放.系统会认为这块空间一直被占用,从而导致可用空间实际上减少了.