修复内存泄漏后内存泄漏和错误

时间:2014-02-07 01:26:04

标签: c memory-leaks

你能告诉我为什么编辑内存泄漏后我有很多错误吗?我想修复我做过的内存泄漏。所有记忆都是免费的....但突然间我收到了一堆错误..为什么会发生这种情况?任何解释?!

1 个答案:

答案 0 :(得分:1)

free()没有做你认为它做的事情。您使用之后free编辑的内存使用malloc,完成后使用free

使用free将内存返回给操作系统。这意味着你不再使用它了。在malloc之后立即拨打List *node = malloc(sizeof(List)); free(node); node->value = v; // can't use node after free()ing it 就像打开电脑,然后立即再次将其关闭。

free

这里有问题,因为你分配了内存。然后取消分配(free)它和然后无论如何都要使用它。移除对free的来电,然后拨打remove_node中的{{1}}。