-3

以下のプログラムでは、ハッシュ テーブル、リスト要素、および一意の単語に対して 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;
      }
}
4

1 に答える 1

2

メモリリークを防ぐことは常に同じです。メモリを動的に割り当てている場合は、適切に削除してください。したがって、関数がどこかで使用する場合、メモリリークを避けるためにどこかにmalloc()書き込みますfree()

于 2013-03-08T19:46:58.263 に答える