因此,我正在编写一个管理堆数据结构的程序。我进行了两次动态内存分配,并且(我认为)在完成任务时正确地释放了它们。我只在两个点动态地分配内存,在离开main之前,我认为我正确地释放了它们。我看不出我还能在哪里漏水了。 ==4042== still reachable: 33,958 bytes in 53 blocks
我还让它打印整个跟踪(带有调试符
我刚刚完成了pset5 of cs50,其中一个函数是将字典的内容加载到哈希表中。在上述函数中的循环中,我必须为稍后将分配给哈希表中节点的节点使用malloc内存。每次循环迭代之后,当我尝试释放节点n时,我的函数就不能工作了。当我没有释放它时,它确实工作,而且更令人困惑的是,它也通过了valgrind和‘t 50的内存<