【发布时间】:2011-10-29 22:49:38
【问题描述】:
如果我有这样的程序片段:
struct Node *node;
while(...){
node = malloc(100);
//do stuff with node
}
这意味着每次我循环通过 while 循环时,我都会重新分配节点指针指向的 100 个字节,对吗?
如果这是真的,那么如果我只剩下一个指向最后发生的 malloc 的指针,我该如何释放所有循环所产生的所有内存?
谢谢!
【问题讨论】:
-
简而言之,你不能。经验法则“每个
malloc必须与free配对”是有原因的。