insertBeg возвращает узел, который должен быть новым заголовком списка, вы должны принять этот тип возврата и установить его в качестве нового заголовка, как показано ниже:
int main(int argc, char **argv) {
struct node * newHeader;
init = createLinkedList(1);
insertEnd(init, 6);
newHeader = insertBeg(init, 9);
init = newHeader;
printList(init);
}
Вам также необходимо отредактироватьраспечатайте функцию следующим образом, так как вы пропускаете несколько узлов там:
void printList(struct node *n) {
if (n != NULL) {
while (n != NULL) {
printf("%d", n->data);
n = n->next;
}
} else {
printf("Empty List");
}
}
Вы можете увидеть полный код здесь для справки: https://ideone.com/WX9TKF