Jest sporo tematów o liście jednokierunkowej, ale mam dość nietypowy problem i nie potrafię go rozwiązać. Otóż mam na ten moment funkcje która dodaje elementy na początek i wyświetla listę.
int add_head(struct node * head, int v)
{
struct node *tmp;
tmp = (struct node *)malloc(sizeof(struct node));
tmp->val=v;
tmp->next=head;
head=tmp;
return 0;
}
void show(struct node * head)
{
struct node *tmp;
int i;
tmp=head;
for(i=0;i<n;i++)
{
printf("%d\t",tmp->val);
tmp=tmp->next;
}
}
Problem jest taki że w VS 2012 działa program bezbłędnie. Gdy dam ten sam kod na linuxa i kompiluje gcc to też nie mam błędów jednak po uruchomieniu i wpisaniu danych, mam segmetation fault, czyli prawdopodobnie mam problem w funkcji show. Mógłby ktoś mi to powiedzieć co robię źle?