链表的头指针指向问题!
ztwz 2004-04-26 05:33:50 下面是一个创建链表的例题,但是我有一点看不明白,请大虾指点一下呀!
#include "stdlib.h"
#include "stdio.h"
struct list
{ int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{ link ptr,head;
int num,i;
ptr=(link)malloc(sizeof(node));
ptr=head;
/*就这儿看不懂,head没有给他初始化,也不知道他指向哪儿,怎么就把它的地址又赋给ptr了呢?应该写成head=ptr;才对吧?我看老潭的哪书也是这样写的。请大虾解释一下,偶先谢啦~~~*/
printf("please input 5 numbers==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;
ptr->next=(link)malloc(sizeof(node));
if(i==4) ptr->next=NULL;
else ptr=ptr->next;
}
ptr=head;
while(ptr!=NULL)
{ printf("The value is ==>%d\n",ptr->data);
ptr=ptr->next;
}
}