[讨论]谁能解释建立单链表的代码???
/*尾插入法建表函数*/
linklist *creatlinkt()
{
linklist *s,*t,*head;
datatype1 x;
head=(linklist *) malloc(sizeof(len));/* 得到第一个结点的地址*/
head->next=null;/*置空,避免乱指*/
s=head;/* s也指向第一个结点 */
printf("输入链表x:\n");
scanf(%d,&x);/*得到第一个元素*/
while(x!=end)
{ t=(linklist *) malloc(len); /* 得到第二个结点的地址*/
t->data=x;/* 将x放到第二个结束的data域中,怎么不放到第一个结点的data域中呢?*/
t->next=null;
s->next=t;/* 将第二个结点的地址放到第一个结点的next中,对不?*/
s=t;/* s指向第二个结点,供一下次的s->next=t使用*/
scanf(d,&x);
}
return(head);
}
我上面的理解,建立的链表的第一个结点岂不是没有元素?即head->data没有元素。
但它是正确是代码。我还有哪些没有理解~~~???
大家指点迷津吧~~~