11智能在线
新记
c语言malloc函数,用了malloc之后没用free函数,把程序关了之后内存还会被占用嘛? 或者重新修改代码行不
如题所述
举报该文章
相关建议 2013-03-05
楼上的不知道不要乱说,这样会误导别人的。
首先,malloc分配的内存是在堆上的,这部分内存是程序自己申请的,必须自己去释放。如果,不释放,那么,在程序运行的期间,他会一直占用。当程序结束的时候,他会被操作系统释放。
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/2pmvm7v8q.html
其他看法
第1个回答 2013-03-05
程序的所有资源是分配给进程的,操作系统会记录分配给进程的所有资源。
当进程退出时,操作系统就会按照记录收回所有已记录的该进程占用的资源的。
所以,你的问题的回答是,内存不会被占用了。
这个答案是显而易见的,否则一个进程的资源泄露就会影响到整个系统的稳定性了,那么这样的操作系统还能稳定么。
第2个回答 2013-03-05
程序结束了一般会由操作系统收回malloc的内存的。
但是这是一个很不好的习惯,因为在程序运行期间,这些内存会一直被占用,即所谓的“内存泄漏”。
第3个回答 2013-03-05
会占用的。。malloc 申请的内存在堆上。
相似回答
大家正在搜
相关问题
C语言编程时使用MALLOC后未用FREE函数释放内存空间怎...
C语言编程时使用MALLOC后一直没有用FREE函数释放内存...
C语言中的malloc和free函数
C语言malloc与free函数的用法
C语言malloc函数分配的内存空间是分配后立即被排他地占用...
对c语言中malloc函数的不解
我在C程序中用了malloc函数,是不是一定要用free函数...
c语言中使用malloc函数开辟了空间,但是我不使用free...