所以我试图在我的代码中优化我的记忆管理。
以下是代码示例:
Image image;
int main(int argc, char *argv[])
{
image = (Image) malloc(sizeof (struct image));
image = doSomething(image);
}
Image doSomething(Image imageInput) {
Image imageResult;
imageResult = (Image) malloc(sizeof (struct image));
//Code does something here
return imageResult;
}
什么时候使用free();在我的例子中?
Image image;
int main(int argc, char *argv[])
{
image = (Image) malloc(sizeof (struct image));
image = doSomething(image);
free(image);
}
Image doSomething(Image imageInput) {
Image imageResult;
imageResult = (Image) malloc(sizeof (struct image));
//Code does something here
free(imageInput);
return imageResult;
}
我唯一能看到的是" imageInput"在函数结束时被假设被删除的变量。
释放函数变量是否过度?
在应用程序执行结束时也是如此。
答案 0 :(得分:0)