Код показывает ошибку сегментации в функции free_nlist () (строка # 539) в файле nlist.c.
Я попробовал одну вещь, но я не думаю, что это было логично;Я попытался выделить динамическую память для переменной "nlb_head" (строка # 542) с помощью команды: nlb_head = (struct nlblock *) malloc (sizeof (struct nlblock));Это дало мне результаты, но кто-нибудь может объяснить, правильно ли это или нет.
void free_nlist( struct nlblock *nlb_head )
{
struct nlblock *nlb_tmp;
nlb_tmp=NULL;
while( nlb_head != NULL )
{
nlb_tmp = nlb_head->next;
free( nlb_head );
nlb_head = nlb_tmp;
}
free(nlb_tmp);
}
Ссылка на код приведена ниже: https://drive.google.com/open?id=1BDP-gkSP9rPvAM4oVdNYmwmJqPhy3o_w