-1
私はこれらのリンクリストを解放しようとしていますが、コンパイルエラーは発生しませんが、valgrindは「30個のallocs、14個の解放、6,377バイトの割り当て」と言います。 この機能は、リスト内のすべての割り当てを消去しないでください。cでリンクリストを解放する
void free_mem(struct medico *head_m, struct paciente *head_p , struct consulta *head_c)
{
struct medico *tmp_m = NULL;
struct paciente *tmp_p = NULL;
struct consulta *tmp_c = NULL;
while (!head_m) {
tmp_m = head_m->next;
free(head_m);
head_m = tmp_m;
}
while (!head_p) {
tmp_p = head_p->next;
free(head_p);
head_p = tmp_p;
}
while (!head_c) {
tmp_c = head_c->next;
free(head_c);
head_c = tmp_c;
}
}
[最小テストケース](http://stackoverflow.com/help/mcve)を作成してください。 –
'while()'ループを 'for();'ループに書き換えると、間違ったことが分かります。 – wildplasser