トライでポインタの割り当てを解除しようとしています。ここに私のトライ構造があります
struct trie
{
int x;
trie *next[26];
};
trie *head;
trie *tmp;
そして、これがdfsを使用した私の割り当て解除関数です
void deallocate(trie *cur)
{
for (int a=0; a<=25; a++)
{
if (cur->next[a] != NULL)
{
tmp = cur->next[a];
cur->next[a] = NULL;
deallocate(tmp);
}
}
free(cur);
}
ここに私の頭のinit関数があります
void init()
{
head = new trie;
head->x = 0;
for (int a=0; a<=25; a++)
{
head->next[a] = NULL;
}
}
プログラムの終了後、私は電話しましたdeallocate(head);
私はポインターのことは本当に初めてです。私の割り当て解除関数に何か問題がありますか? ありがとう
配列サイズを変更して受け入れられました:)問題はポインターではないようです:)みんなありがとう