что не так с этим кодом? Это просто создание списка ссылок и его печать.Ошибка в списке ссылок, указатель
#include<stdio.h>
#include<stdlib.h>
struct node{
struct node *next;
int data;
};
void printLinklist(struct node *head)
{
struct node *temp = head;
while(temp != NULL)
{
printf("%d\t",temp->data);
temp = temp->next;
}
printf("\n");
}
void pushData(struct node *head, int val)
{
struct node *temp = malloc(sizeof (struct node));
temp->next = head;
temp->data = val;
head = temp;
}
int main()
{
struct node *head = NULL;
pushData(head, 1);
pushData(head, 2);
pushData(head, 3);
pushData(head, 4);
pushData(head, 5);
printLinklist(head);
}
Я знаю правильный способ сделать это. Для этого нам придется пройти & голову в функции pushData() и определить аргумент этой функции в виде двойного указателя (заменить голову на * голову в pushData() функции и проходящей & голову в качестве аргумента)
я не могу понять проблему в этом коде.
Что делает правильный путь правильным? Интересно, что вы знаете «как», но не «почему». –