在下面的程序中,我需要在Hash Table,List Elements和Unique words上调用free()。我尝试了几件事,但都破坏了程序或增加了错误消息。一些尝试在评论和大胆。
有谁知道免费拨打电话的地点和方式?它涉及到令人困惑的指针。
h_ptr *htable;
int tsize;
void new_table(int size)
{
tsize = size;
htable = (h_ptr *) calloc(size, sizeof(h_ptr));
if (!htable) {
fprintf(stderr, "Couldn't allocate hash array, exiting\n");
exit(1);
}
for(int i=0; i<size; i++)
{
htable[i]=NULL;
}
}
答案 0 :(得分:2)
防止内存泄漏始终是相同的。如果已经动态分配了一些内存,请将其正确删除。因此,如果您的函数在某处使用malloc()
,也会在某处写free()
以避免内存泄漏