c语言使用free函数不报错是不是就是释放内存成功

 我来答
dufenglei908
2012-06-29 · TA获得超过6372个赞
知道大有可为答主
回答量:1449
采纳率:60%
帮助的人:758万
展开全部
因为free函数没有返回值,如果运行时没有报错,那么内存就可以认为是释放成功了。
一般我们free的时候参数只有三种情况
1. 参数为NULL,这时候free不会执行任何动作,也不会造成崩溃
2. 参数为一个动态申请的内存指针,此时,能顺利执行,不会有异常发生
3. 参数为一个不能被free的内存指针(包括静态数据指针、野指针等),此时释放的时候就会报错,windows下面可能会报某某某内存不能为read,linux下可能会报pointer being freed was not allocated

因此,只要你在运行过程中没出错,那么就可以保证free是成功了的。
xiaot1021
2012-06-29 · TA获得超过326个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:233万
展开全部
不一定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海雄风2009
2012-06-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2802万
展开全部
对两种可能 别无其他
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式