求教~~~~~~~~~~~~!
那位高手能解释一下p=(linklist *)malloc (sizeof (linklist))和p->next=null是什么意思,干什么用。全程序如下:
typedef int elemtype;
typedef struct node;
{ elemtype data;
struct node *next;
}linklist;
linklist *head,*p,*q;
linklist *creat_list()
{
char x;
linklist *head,*p,r;
p=(linklist *)malloc (sizefo(linklist));
head=p;
p->next=NULL;
r=p;
printf("建立单链表,输入#号则退出.\n);
scanf("%c",&x);
while(x!=`#`)
{p=(linklist *)malloc (sizefo(linklist));
p->data=x;
p->next=NUll;
r->next=p;
r=r->next;
scanf("%c",&x);
}
return(head);
}
----------------解决方案--------------------------------------------------------
楼主回去把链表再看一下吧
----------------解决方案--------------------------------------------------------
动态声请结构linklist的存储空间,并将其next域置空.
----------------解决方案--------------------------------------------------------
p=(linklist *)malloc (sizeof (linklist)) 为指针p动态分配空间,空间大小为sizeof (linklist),p的类型为linklist *
p->next=null 赋节点p指向为空.(即后面再无节点)
----------------解决方案--------------------------------------------------------
顶楼上啊...
----------------解决方案--------------------------------------------------------
4#说的不错啊.
----------------解决方案--------------------------------------------------------
哦 知道了 谢谢大家
----------------解决方案--------------------------------------------------------
先把指针学好,在学结构。
----------------解决方案--------------------------------------------------------
p=(linklist *)malloc (sizeof (linklist))=====>动态生成大小为sizeof (linklist)的空间给p
p->next=null=====>将p->next指向空节点
----------------解决方案--------------------------------------------------------