C语言中,malloc函数动态分配内存后,如果不用free去释放,函数结束后空间会不会由系统释放?

如果可以被系统释放,那么如果不用free去释放这个内存空间,那么在函数结束前与静态分配的空间一样,也相当于只是静态分配的空间了?... 如果可以被系统释放,那么如果不用free去释放这个内存空间,那么在函数结束前与静态分配的空间一样,也相当于只是静态分配的空间了? 展开
 我来答
AIDS雨落
2018-11-23
知道答主
回答量:1
采纳率:0%
帮助的人:796
展开全部
函数结束后不会释放,程序结束后会由系统释放,相当于在堆区人为开辟了静态区域(占用的是堆区的空间),如果有重复分配(循环),会不断占用内存,直到程序结束。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
非洲野雏菊
2012-02-27
知道答主
回答量:23
采纳率:0%
帮助的人:9.8万
展开全部
不是的。如果你不用free对也经分配的空间进行释放。那已经分配的空间不能被释放。空间就减少克。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-02-27
展开全部
原则上,Malloc申请的内存,是需要自己释放的,系统不会释放。所以用到了Malloc,需要同时调用Free。
Malloc申请的内存是在堆区,跟静态分配的静态区域不同的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx3305
2012-02-27
知道答主
回答量:48
采纳率:0%
帮助的人:14.8万
展开全部
最好是malloc和free匹配使用,我曾经就碰到过malloc后没free运行这就报错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式