本文摘自wikipedia。本文内容是关于:C语言 链表详解,c语言链表教程。 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。 单链表(单向链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始,如下图所示。
本文将结合代码详解C语言链表,单向链表的数据结构可以分为两部分:数据域和指针域,数据域存储数据,指针域指向下一个储存节点的地址,C语言详细代码及注释如下。
/*线性表的单链表存储结构*/
typedef struct LNode {
ElemType data;
struct LNode * next;
}
LNode,
*LinkList;
/*带有头结点的单链表的基本操作(12个)*/
void InitList(LinkList * L) {
/* 操作结果:构造一个空的线性表L */
* L = (LinkList) malloc(sizeof(struct LNode));
/* 产生头结点,并使L指向此头结点 */
if (!*L)
/* 存储分配失败 */
exit(OVERFLOW); ( *