0
我試圖釋放我的程序退出之前我哈希表使用的內存,但我得到這個錯誤:免費Hashtable的內存
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);
}
}
我不確定爲什麼會發生這種情況,因爲它可以正確釋放這個詞。有任何想法嗎?
這段代碼沒有錯。 – Blood
確保初始化全狀態的「statetab」爲零。 –
用valgrind運行。 –