【发布时间】:2016-03-06 03:15:53
【问题描述】:
这个函数会不会导致内存泄漏?
函数是:
double list(double *list2){
double *list3=(double *)malloc(sizeof(double));
some operations...
return *list3;
}
更新:
这有帮助吗?
int main(){
operations...
double list4;
list4=list(&list4);
free(&list4);
return 0;
}
【问题讨论】:
-
预测:有人会评论说你不应该从 malloc 中转换结果。
-
更新应该有什么帮助?
-
main中的free函数可以释放list函数中分配的空间吗?如果不是,为什么?
-
这会崩溃,因为你正在释放 list4 的地址,它在堆栈上,而不是 malloced。
标签: c memory-leaks