如何修复此程序中的内存泄漏

时间:2013-03-08 19:17:36

标签: c

在下面的程序中,我需要在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;
      }
}

1 个答案:

答案 0 :(得分:2)

防止内存泄漏始终是相同的。如果已经动态分配了一些内存,请将其正确删除。因此,如果您的函数在某处使用malloc(),也会在某处写free()以避免内存泄漏