Казалось бы, простой C-код не позволяет мне удалить первый элемент из связанного списка. Однако я могу успешно удалить любой другой отдельный элемент и успешно удалить весь связанный список.
typedef struct list{
int data;
struct list * next;
} list;
void remove_element(list * node, unsigned int index){
if (node == NULL)
exit(-1);
list *currElem = node;
if (index == 0) {
node = node->next;
currElem->next = NULL;
free(currElem);
return;
}
Создает следующее: "free (): неверный указатель: 0xbfabb964"
IЯ придерживался того же формата для всех других моих функций манипуляции без проблем. Подобные темы на форумах, похоже, не имеют отношения к этой конкретной проблеме.