Я пытаюсь выяснить, как использовать связанные списки, и я вроде как понимаю, однако я столкнулся с ошибкой. Я использовал учебник YouTube, который был хорош, однако он не объяснил этот код, и я скопировал его у него и попытался понять его в своем собственном темпе, однако я не могу понять, почему он работает таким образом и как его исправить.
if(firstnode == 0){
temp = addtolist(request2);
head = temp;
firstnode++;
}
else{
temp = addtolist(request2);
temp->next = head;
head = temp;
}
Добавить к списку код
linkedlist *addtolist(char value[]){
linkedlist *result = malloc(sizeof(linkedlist));
strcpy(result->data,value);
result->next = NULL;
return result;
}
Firstnode - это просто целое число, чтобы проверить, создал ли пользователь узел или нет. И request2 - это просто значение, которое я sh должен сохранить в узле. Я задаюсь вопросом, как сделать так, чтобы мой связанный список был в правильном порядке, когда я его печатаю, так как я каждый раз двигаю голову, что я могу сделать, чтобы предотвратить это и правильно связать список? Извините, если это глупый вопрос, но я не могу понять, как это работает.