首页 > 用户发贴区 > 编程问题提问区 > 链表问题,老看不明白
2006
03-23

链表问题,老看不明白

程序如下


#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);
}


看不明白,请教高手解释一下。


链表问题,老看不明白》有 1 条评论

  1. xstar 说:

    分配一个节点
    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;

留下一个回复