程序如下
#define NULL 0
#define TYPE struct stu
#define LEN sizeof (struct stu)
struct stu
{
int num;
int age;
struct stu *next;
};
TYPE *creat(int n)
{
struct stu *head,*pf,*pb;
int i;
for(i=0;i<n;i++)
{
pb=(TYPE*)malloc(LEN);
printf(“input Number and Age\n”);
scanf(“%d%d”,&pb->num,&pb->age);
if(i==0)
pf=head=pb;
else pf->next=pb;
pb->next=NULL;
pf=pb;
}
return(head);
}
看不明白,请教高手解释一下。
>> 本文固定链接: http://www.vcgood.com/archives/605
分配一个节点
pb=(TYPE*)malloc(LEN);
然后得到输入的数据
scanf(“%d%d”,&pb->num,&pb->age);
把它插入到链表的尾部
if ( i == 0 )
pf=head=pb;
else
pf->next=pb;
pb->next=NULL;
并修改指向尾节点的指针
pf=pb;