Я пытаюсь реализовать функцию связанного списка для добавления узла в конец списка, но она вызывает ошибку сегментации почти в каждой строке.
SinglyLinkedListNode * insertNodeAtTail (SinglyLinkedListNode * head, int Data) {
SinglyLinkedListNode* Node;
Node = malloc(sizeof(SinglyLinkedListNode));
SinglyLinkedListNode* current;
current = head;
Node->data = Data;
Node->next = NULL;
if( head->next == NULL) /* 0 element llist*/
{
head = Node;
}
else
{
//current = head;
/*
while(current->next != NULL)
*/
while(current->next != NULL)
{
current = current->next;
} // exit when current->next = lastNode->next = NULL
current->next = Node;
}