链表是指将若干个称为结点的数据项按一定的规则连接起来的表,最简单的链表是单向链表。链表具有动态进行存储分配的特点,在对链表进行操作时经常需要动态地分配和释放结点。在C语言中提供了相应的函数对内存空间的申请和释放
1、malloc(字节数):若函数调用成功,返回该存储块的首地址作为函数的返回值;若申请空间失败,说明没有足够的空间可供分配,返回空指针NULL。
1) malloc函数的返回值为void类型指针,在使用该函数时,需要强制类型转换为所需的类型。
2)在使用malloc函数时,须在程序中加入#include <alloc.h>或#include <stdlib.h>的头文件。
2、free (指针变量名):free 函数的功能是释放“指针变量名”所指向的内存区域。
单向链表是由若干个结点构成的,每个结点具有相同的类型。每一个结点是一个结构体类型的数据。结构体中必须有一个成员,其类型为指向结构体的指针变量,用来存放下一结点的地址,其它成员可根据需要而设置。链表有一个头指针(head),用来存放链表中第一个结点的地址,最后一个结点中存放空指针(NULL),代表链表的表尾,也是对链表进行访问时的结束标志。