我刚刚完成了pset5 of cs50,其中一个函数是将字典的内容加载到哈希表中。在上述函数中的循环中,我必须为稍后将分配给哈希表中节点的节点使用malloc内存。每次循环迭代之后,当我尝试释放节点n时,我的函数就不能工作了。当我没有释放它时,它确实工作,而且更令人困惑的是,它也通过了valgrind和‘t 50的内存泄
我正在尝试运行check50,但它显示我有一个内存泄漏问题。我运行了help50 valgrind .Take a closer look at line 36 of dictionary.c.还有(更完整的消息): ==1430== ==1430== in use at exit: 0 bytes in 0 blocks==1430== ERROR SUMMARY: 492 errors from 2
我已经成功地写了一段代码,可以从加载字典中进行拼写检查。为了释放内存,我编写了unload()函数,valgrind没有显示内存泄漏。但在提交后,我收到了一些隐蔽的错误,即Conditional jump or move depends on uninitialised value(s): (file: d
我已经部分完成了pset5 of cs50,但是每次我尝试运行我的程序时,我都会因为某种原因而得到一个分段错误。
在我的load函数中,我打开字典文件并通过调用init_table()初始化哈希表。然后,我使用fscanf扫描字典文件,为字典中的每个单词创建一个node *n,并将单词从dict_word复制到这个节点。然后,我使用我的hash函数(基于djb2)来存储该节点word的索引。我还没有
我正在编写一个自定义的textfile解析器(类似于JSON),我花了很多时间试图在其中找到一个微小的内存漏洞。当我解析任何文件,然后从内存中删除它(与声称的任何其他内存一起)时,我会得到一个16字节的内存泄漏,如下所示:
{290} normal block at 0x00486AF0, 16 bytes longFastStr是一个简单<em