77问答网
所有问题
c语言中用malloc申请的内存,如果不用free释放的话,它会在程序结束后自动释放吗?
如题所述
举报该问题
推荐答案 2011-08-14
在堆中分配的内存如果不用free释放,就会在程序运行结束前一直存在于堆中,造成内存泄露。但结束程序后,操作系统会回收该进程的内存空间,该进程存储在物理内存的所有内容消失了,包括以前泄漏的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/8v3pYW8Gp.html
相似回答
C语言中,malloc函数
动态分配
内存后,如果不用free
去
释放,
函数
结束后
空 ...
答:
C语言不会释放
。所谓动态内存,是由malloc系列函数进行申请的内存,除非在程序中使用free释放,否则该段内存不会被释放掉。标准库中malloc函数的实现原理。要了解针对malloc的内存存储结构,malloc不像全局变量一样,不是在编译器编译的时候就会分配内存空间,而是在调用到malloc函数时才会分配空间。有时还会中...
如果用C语言
编写一个
程序
用了
malloc函数
但是没
用free
函数,那整个程序结 ...
答:
会程序结束后泄漏的内存会被收回的
。因为程序结束后,该程序所占用的所有的内存都会被收会。程序所用的内存包括静态变量和动态变量,动态变量可以在程序中用malloc和free动态修改程序所占用的内存空间,静态变量则在它一开始定义到程序结束前都会占用内存空间,直到程序结束时才会被释放。malloc函数是在程序中...
我在
C程序中用
了
malloc函数,
是不是一定要
用free
函数来
释放
掉
内存,程序
...
答:
一定要显式释放。用malloc或者new分配的内存都是在heap上的,需要显式释放。用malloc分配的要用free释放
。用new分配的用delete释放。否则会引起内存泄漏。C/C++最常见的错误之一。
在函数中
malloc的
空间函数
结束后会自动释放
么
答:
第二种是在堆上分配的空间,
在函数结束后不会释放,需要手动free,程序结束时也会释放.第一种是在栈上分配的
,函数结束会自动回收资源.
C语言,用
了
malloc
之后
,不用free会
怎么样
答:
对你系统没有影响
,如果不free的话,
只是该程序在运行时一直占有一定量
的内存,
只要程序不运行了,内存就
会自动释放
。对电脑内存没有影响。
c语言malloc函数,用
了malloc之后没
用free
函数,把
程序
关了之后
内存
还会被...
答:
楼上的不知道不要乱说,这样会误导别人的。首先
,malloc
分配
的内存
是在堆上的,这部分内存是程序自己
申请的,
必须自己去释放。
如果,不释放,
那么
,在程序
运行的期间,他会一直占用。当
程序结束
的时候,他会被操作系统释放。
程序结束后malloc申请的内存会
被
自动释放吗
答:
程序结束后会释放的,
运行
中不会释放
内存泄漏仅存在于运行时也就是你说的第二个解释。确实应该跟操作系统有关,程序运行时向操作系统申请空间
,在程序
没有向操作系统说明时,操作系统不会释放被程序
申请的内存
空间,但当程序结束时,所有资源均会被操作系统回收。还有楼上的,请你们搞清楚再来回答问题。
大家正在搜
malloc申请内存是连续的吗
malloc函数的用法c语言
c语言中malloc函数的头文件
c语言中malloc函数使用实例
malloc分配的内存连续吗
c语言malloc用法
c语言动态数组malloc
c语言typedef的用法
malloc分配内存使用
相关问题
C语言中,malloc函数动态分配内存后,如果不用free去...
c语言中程序结束时,动态内存会释放吗?是由谁释放的?
C语言编程时使用MALLOC后未用FREE函数释放内存空间怎...
如果用C语言编写一个程序用了malloc函数但是没用free...
C语言编程时使用MALLOC后一直没有用FREE函数释放内存...
c语言中使用malloc函数开辟了空间,但是我不使用free...
c语言malloc函数,用了malloc之后没用free函数...
C语言,我用malloc申请过的空间,如果在程序结束之前用e...