Я получаю ошибку сегментации, но я не знаю почему, так как указатель не является нулевым. Я проверил свой код, и он, кажется, только дает ошибку для непустого случая. Я пытаюсь удалить последний узел и получить его значение. Я получаю это сообщение: Error: Memory error occurred! Type of error: segmentation-fault
struct node {
int item;
struct node *prev;
struct node *next;
};
struct dl {
struct node *front;
struct node *back;
};
int dl_remove_back(struct dl *dq) {
int temp = dq->back->item;
struct node *tempLink = dq->back->prev;
if (dq->front->next == NULL) {
dq->front = NULL;
} else {
dq->back->prev->next = NULL; //error
}
deq->back = tempLink;
return temp;
}