Я использую двойной связанный список и получаю странное представление о крайних случаях, когда мы имеем дело с предыдущими или следующими указателями, которые являются нулевыми.GDB возвращает следующую ошибку:
Program received signal SIGSEGV, Segmentation fault.
0x0804a9c1 in DLinkDelete (delete=0xd8c9d33c) at test.c:213
213 if (prevdl && prevdl->next)
(gdb) p prevdl
$39 = (DoubleLink *) 0xdadadada
(gdb) p prevdl->next
$40 = (void *) 0x0
DoubleLink - это структура со следующим форматом:
typedef struct
{
void *next;
void *prev;
} DoubleLink;
Почему здесь возникает ошибка сегментации?