不清楚什么时候用指针建立,比如下面的NODE *create(), void insert()
不知哪位大侠可以细讲一下,谢谢呀!
#include "stdio.h"
typedef struct node
{
int data;
struct node *next;
}NODE;
NODE *create() //新建单链表
{
NODE *head,*q,*p;
char ch;
head=(NODE *)malloc(sizeof(NODE));
q=head;
scanf("%d",&a);
while(ch!='?')
{
p=(NODE *)malloc(sizeof(NODE));
p->data=a;
q->next=p;
q=p;
ch=gerchar();
scanf("%d",&a);
}
q->next=NULL;
return(head);
}
main()
{
int i;
NODE *a;
a=create();
a=a->next;
while(a!=NULL)
{
printf('%d',a->data);
a=a->next;
}
}
void insert(NODE *head,NODE *p,int x) //插入
{
NODE *q;
q=(NODE *)malloc(sizeof(NODE ));
q->data=x;
if(head==NULL)
{
head=q;
q->next=NULL;
}
else
{
q->next=p->next;
p->next=q;
}
}