我试图释放我的哈希表在我的程序退出之前使用的内存,但是我收到了这个错误:
anagram(14510) malloc: *** error for object 0x100103be0: pointer being freed was not allocated
以下是我用来释放表格的代码:
for(temp=0; temp<NHASH; temp++){
sp=statetab[temp];
while (sp!=NULL) {
test=sp;
sp=sp->next;
free(test->word);
free(test);
}
}
我不确定为什么会这样,因为它确实正确地释放了这个词。任何想法?
答案 0 :(得分:-1)
您的程序声明的大多数资源(当然是数据的内存空间)将在程序退出时自动解除分配。除非您需要程序中的空间(或者在不再需要哈希表后它会运行很长时间),否则不用担心。