这个链表创建程序哪里出错了
#include<stdio.h>#include<malloc.h>
typedef char data;/*方便修改链表的数据类型*/
/*链表的类型:链表的类型是链表一个单元的类型*/
typedef struct link
{
data i;/*链表数据类型是data,即cahr*/
struct link *p;/*定义一个结构体类型的指针,因为链表指针域中存放的指针地址
存放的内容是一个结构体*/
}linklist;/*linklist不是变量名,而是类型名*/
void creatlink(linklist *head)
{
data m;
int i=1;
linklist *h,*temp;
temp=head;
do{
printf("请输入第%d结点的数据:\n",i);
h=(linklist *)malloc(sizeof(linklist));
temp->p=h;
scanf("%c",&m);
h->i=m;
i++;
temp=h;
}while(m!='a');
temp->p=NULL;
printf("您已输入完毕\n");
}
int main()
{
linklist *head;
head=(linklist *)malloc(sizeof(linklist));
creatlink(head);
return 0;
}