Примечание. У меня уже есть назначенная функция для работы с моим собственным кодом, но я видел учебник на другом веб-сайте и задаюсь вопросом, почему он не работает.Ошибка синтаксиса основного C связанного списка
https://www.eskimo.com/~scs/cclass/int/sx8.html
Предпосылка выглядит следующим образом:
Я играл с очень простым связным списком:
typedef struct node {
int val;
struct node * next;
} node_t;
Я пытаюсь иметь функцию удаление записи по значению , Это выглядит следующим образом:
int remove_by_value(node_t ** head, int val) {
for(head = &node_t; *head != NULL; head = &(*head)->next){
if ((*head)->val == val) {
*head = (*head)->next;
break;
}
}
}
Однако я получаю сообщение об ошибке при вызове этой функции, а именно:
"prog.c:35:17: error: expected expression before 'node_t'
for(head = &node_t; *head != NULL; head = &(*head)->next){
^"
Есть идеи? Является ли это простой синтаксической ошибкой, которую я не вижу? Благодаря!
Что это за 'head = & node_t' для? –
В дополнение к ошибкам синтаксиса ваша логика для сплайсинга элемента неверна. –
попробуйте «для (; ...)», i..e оставьте tghe «head = & node_t») –