[求助]关于free函数
我想知道
在一个函数(非main函数)中,我用calloc开了一段内存,
当这个函数返回时(而我没有用到free(),人为地释放该段内存),系统会不会自动释放所申请的这段内存?
----------------解决方案--------------------------------------------------------
据我所知,是不会自动释放的,你应该手动释放
----------------解决方案--------------------------------------------------------
据我所知不会自动释放的,它和malloc类似的,calloc会初始化,malloc不会
----------------解决方案--------------------------------------------------------
有一个malloc,就要想到何时何地去free,能做到这一点就很不错了。没有自动的说
----------------解决方案--------------------------------------------------------
如果没有用free操作释放内存,那么这段内存就一直被占用,直到程序结束才由操作系统回收.
一般来说,内存申请和free都是成对使用的,
如果在程序中没有用free函数,而导致申请的内存块一直被占用,这就叫内存泄漏.
当您运行的程序需要大量空间的时候,内存泄漏就很可能导致程序崩溃。
----------------解决方案--------------------------------------------------------
养成良好的编程习惯是非常重要的,free()前面的申请函数是成对出现的
----------------解决方案--------------------------------------------------------
谢谢啦
我是在做一些矩阵的运算,所以运算量还是蛮大的
----------------解决方案--------------------------------------------------------