动态链表
主要函数
1: malloc:函数原型 void *malloc(unsigned int size);
分配一个长度为size的连续空间,返回首地址。
空间不足时返回HULL;
2: calloc:函数原型 void *calloc(unsigned n,unsigned size)
分配n个长度为size的连续空间。返回首地址。
3: free:函数原型 void free(void *p);
释放由p指向的内存区。
创建一个链表create()
代码
#include<stdlib.h> #include<stdio.h> typedef struct List* link; // 链表指针 typedef struct List Lnode; //结点 struct List { int date; struct List *next; }; link create(link Head) { int Newdate; link NewPoint; /*先建立一个结点*/ Head=(link)malloc(sizeof(Lnode)); scanf("%d",&Newdate); Head->date=Newdate; Head->next=NULL; while(1) { NewPoint=(link)malloc(sizeof(Lnode)); if(NewPoint==NULL) break; scanf("%d",&Newdate); if(Newdate==-1) return Head; NewPoint->date=Newdate; NewPoint->next=Head; Head=NewPoint; } return Head; } int main() { link p; p=create(p) ; do { printf("%d\n",p->date); p=p->next; }while(p); return 0; }