c语言在子函数中使用malloc,会自动free吗?

我的子函数返回值是一个指针,在子函数中我先用malloc定义了这个指针,然后return该指针。那在子函数里需要free吗?如果在return之前free了不是就不能re... 我的子函数返回值是一个指针,在子函数中我先用malloc定义了这个指针,然后return该指针。
那在子函数里需要free吗?如果在return之前free了 不是就不能return了
所以我感觉只要主函数所有malloc都free了,就没事。这个对吗??
展开
 我来答
百度网友6f05040
推荐于2016-08-05 · 超过20用户采纳过TA的回答
知道答主
回答量:36
采纳率:100%
帮助的人:28.7万
展开全部
C没有自动释放功能,需要手动free掉malloc的堆空间。如果malloc空间后忘记free就会造成内存泄露问题:内存泄露是一个比较麻烦的枝拿问题,要是malloc少尘搭胡量空间而不free,在测试阶段很难发现,而投入生产中可能就会变派拦成大量malloc而不free,内存空间没了,然后程序就挂了
百度网友9761bdf1d
推荐于2018-03-28 · TA获得超过589个赞
知道小有建树答主
回答量:441
采纳率:0%
帮助的人:356万
展开全部
在子函数不需要free,否则子函数里做的事情就白做了!
记得在主调函数free就行!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d580670
2014-11-12 · TA获得超过1983个赞
知道大有可为答主
回答量:2054
采纳率:82%
帮助的人:699万
展开全部
如果子函数需要return一个内部分配的空间,那么释放就归调用者来free了,否则内部free再返州山回已经是无效掘码空间

不过一般不这样做,一般谁分配谁释放建议主函数分配传册散中入然后子函数自己往里面存东西,再由主函数负责释放
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式