リンクリストのノードをトラバースする簡単なプログラムを作成しました。
struct node
{
int data;
struct node *next;
}*start;
start=(struct node *)malloc(sizeof(struct node));
start->next=NULL;
int main(void)
{
if(start==NULL)
{
printf("There are no elements in the list");
}
else
{
struct node *tmp;
printf("\nThe elemnets are ");
for(tmp=start;tmp!=NULL;tmp=tmp->next)
{
printf("%d\t",tmp->data);
}
}
return 0;
}
リンクリストの要素を印刷しようとすると、リストが空であっても、出力が表示されます。
The elements are 5640144
私は何が間違っているのですか?開始ポインタを正しく宣言していますか?
なぜこれを行う必要があるのですか(実際、最初はこれを行っていませんでしたが、友人の1人から依頼されました)
start=(struct node *)malloc(sizeof(struct node));
start->next=NULL;