在函数中malloc的空间函数结束后会自动释放么

fun(){inta[10];....}fun(){int*a;a=(int*)malloc(10*sizeof(int));...}是不是第2种方式开辟的空间在函数结束... fun()
{
int a[10];
....
}

fun()
{
int *a;
a = (int *)malloc(10 * sizeof(int));
...}
是不是第2种方式开辟的空间在函数结束后如果不free 这个空间不释放? 第1种方式 在函数结束后会释放空间
展开
 我来答
qizhi0119
2009-11-30 · TA获得超过357个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:246万
展开全部
第二种是在堆上分配的空间,在函数结束后不会释放,需要手动free,程序结束时也会释放.
第一种是在栈上分配的,函数结束会自动回收资源.
winner8080
2009-11-30 · TA获得超过1292个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:415万
展开全部
不会.自己申请的必须自己free掉.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式