【发布时间】:2010-10-08 21:23:45
【问题描述】:
假设我有一个为调用者分配内存的函数:
int func(void **mem1, void **mem2) {
*mem1 = malloc(SIZE);
if (!*mem1) return 1;
*mem2 = malloc(SIZE);
if (!*mem2) {
/* ... */
return 1;
}
return 0;
}
我想听听您对释放()分配内存的最佳方式的反馈,以防第二个 malloc() 失败。你可以想象一个更复杂的情况,有更多的错误退出点和更多的分配内存。
【问题讨论】: