为什么要用二级指针开辟空间

 我来答
wjh301314
2014-10-25 · TA获得超过55万个赞
知道顶级答主
回答量:24.4万
采纳率:90%
帮助的人:12.3亿
展开全部
函数中用malloc分配的空间,是不会自己释放的,如果没有free,将一直被占据,直到整个程序结束时由操作系统回收
比如
void f()
{
int *p=(int*)malloc(100);
}
函数结束后,,p会从栈空间释放,但p指向的内存会泄漏,直到程序结束,所以如果函数结束前不能free的话,那就应该把p的值返回,以便以后释放:
int * f()
{
int *p=(int*)malloc(100);
return p; //返回p
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式