代码如下:
#include "stdio.h"
#include
typedef struct node { int data; struct node *next; } listnode;
listnode* INITLIST() { listnode *hd=(listnode *)malloc(sizeof(listnode));
hd->next=NULL;
return hd; }
void CREALIST(listnode *hd)
{ int dt;
scanf("%d",&dt);
while(dt!=-1) {
listnode *p=(listnode *)malloc(sizeof(listnode));
p->data=dt;
p->next=hd->next;
hd->next=p;
scanf("%d",&dt);
}
}
void PRINTLIST(listnode *hd) { l
istnode *p=hd->next;
while(p!=NULL) {
printf("%d ",p->data);
p=p->next; } }
void FREELIST(listnode *hd) {
while(hd->next!=NULL)
{
listnode *p=hd->next;
hd->next=p->next;
free(p); } }
void main() { listnode *head=NULL; head=INITLIST(); CREALIST(head); PRINTLIST(head); FREELIST(head); free(head); }
说实话,后面跟一个*Linklist很让人混淆。不管你是想定义变量类型还是定义变量,都不建议这么做