У меня следующий связанный список:
struct scoreentry_node {
struct scoreentry_node *next;
int score;
char name[1];
}
;
typedef struct scoreentry_node *score_entry;
Я пытаюсь написать функцию, которая удаляет все узлы, содержащие определенное имя.Вот что у меня пока есть, но я не уверен, что прав:
score_entry disqualify(score_entry a, char* name)
{
score_entry tmp = a;
while (tmp != NULL){
if (strcmp(tmp->name, name) == 0)
{
score_entry trash = tmp;
tmp = tmp->next;
free(trash);
}
else { tmp = tmp->next; }
}
return a;
}
Это дает мне кучу ошибок .. Есть предложения?