免费的哈希表记忆

时间:2013-01-15 22:12:15

标签: c xcode memory-management malloc

我试图释放我的哈希表在我的程序退出之前使用的内存,但是我收到了这个错误:

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);
    }
}

我不确定为什么会这样,因为它确实正确地释放了这个词。任何想法?

1 个答案:

答案 0 :(得分:-1)

您的程序声明的大多数资源(当然是数据的内存空间)将在程序退出时自动解除分配。除非您需要程序中的空间(或者在不再需要哈希表后它会运行很长时间),否则不用担心。