标题:[求助]关于free函数
只看楼主
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
结帖率:60%
 问题点数:0 回复次数:6 
[求助]关于free函数

我想知道
在一个函数(非main函数)中,我用calloc开了一段内存,
当这个函数返回时(而我没有用到free(),人为地释放该段内存),系统会不会自动释放所申请的这段内存?

搜索更多相关主题的帖子: free 函数 
2006-08-31 13:31
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1986
专家分:4
注 册:2006-7-1
得分:0 

据我所知,是不会自动释放的,你应该手动释放


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-08-31 13:48
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
得分:0 

据我所知不会自动释放的,它和malloc类似的,calloc会初始化,malloc不会

2006-08-31 13:50
ajey2004
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2004-12-30
得分:0 

有一个malloc,就要想到何时何地去free,能做到这一点就很不错了。没有自动的说


2006-08-31 17:51
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
得分:0 
如果没有用free操作释放内存,那么这段内存就一直被占用,直到程序结束才由操作系统回收
一般来说,内存申请和free都是成对使用的,
如果在程序中没有用free函数,而导致申请的内存块一直被占用,这就叫内存泄漏.
当您运行的程序需要大量空间的时候,内存泄漏就很可能导致程序崩溃。

对不礼貌的女生收钱......
2006-08-31 18:05
jxk821015
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-8-22
得分:0 
养成良好的编程习惯是非常重要的,free()前面的申请函数是成对出现的

2006-08-31 19:35
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
得分:0 
谢谢啦
我是在做一些矩阵的运算,所以运算量还是蛮大的

2006-08-31 21:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-87161-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.763001 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved