Узел связанного списка всегда имеет следующего члена
struct list
{
int data;
struct list *next;
};
Когда вы создаете свой страж, вы инициализируете рядом с NULL
void list_init(struct list *list)
{
list->data = -1;
list->next = NULL;
}
struct list *head = malloc(sizeof(struct list));
list_init(head);
Теперь у главы есть следующий член NULL, поэтомувсе, что вам нужно сделать, это проверить, равно ли next значение NULL
int list_is_empty(struct list *list)
{
if (list->next == NULL) return 1;
return 0;
}
Когда вы добавите одну головку узла -> next станет NOT NULL, и вы узнаете, что список не пуст.Но вы должны убедиться, что вы всегда передаете голову функции list_functions.