c语言malloc函数,用了malloc之后没用free函数,把程序关了之后内存还会被占用嘛? 或者重新修改代码行不

如题所述

楼上的不知道不要乱说,这样会误导别人的。
首先,malloc分配的内存是在堆上的,这部分内存是程序自己申请的,必须自己去释放。如果,不释放,那么,在程序运行的期间,他会一直占用。当程序结束的时候,他会被操作系统释放。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-05
程序的所有资源是分配给进程的,操作系统会记录分配给进程的所有资源。
当进程退出时,操作系统就会按照记录收回所有已记录的该进程占用的资源的。
所以,你的问题的回答是,内存不会被占用了。
这个答案是显而易见的,否则一个进程的资源泄露就会影响到整个系统的稳定性了,那么这样的操作系统还能稳定么。
第2个回答  2013-03-05
程序结束了一般会由操作系统收回malloc的内存的。
但是这是一个很不好的习惯,因为在程序运行期间,这些内存会一直被占用,即所谓的“内存泄漏”。
第3个回答  2013-03-05
会占用的。。malloc 申请的内存在堆上。
相似回答