一个关于动态链表的问题
struct list{
int data;
struct list *next;
}list;
struct list * create()
{
int x;
struct list *r,*p,*l;
l=NULL;
l=r=(list *)malloc( sizeof(list) );
if(l==NULL)
{
printf("存储空间不足,无法分配空间\n");
exit(0);
}
l->next=NULL;
scanf("%d",&x);
while(x!=0)
{
p=(list *)malloc( sizeof(list) );
p->data=x;
p->next=NULL;
r->next=p;
r=p;
scanf("%d",&x);
}
return l;
}
void main()
{
struct list * creat();
struct list * h;
h=create();
}
错在哪?就在malloc那两行出错?找不出。请大家帮忙。