链表(Linked List)是由节点组成的(node)。而节点实质上是一个数据结构(struct or class)。链表和数组(Array)的区别在于链表中的节点在内存中的位置不一定是连续的,并且节点个数无需在编译时确定。
因为在C语言中定义一个struct变量必须加上struct关键字,为了简洁起见,我们用node来替换:
我们声明了一个stud结构类型,其中包含了编号,名字和年龄等数据,以及指针类型为自身的指针变量。
节点包含两种信息,一种是数据(data),一种是指向另一个节点的指针。(指针实质上存储的是节点的物理位置)
考虑一个单向线性链表(节点只有一个指针,并且最后一个节点指针内容为NULL)下面定义一个简单的节点:
struct stud {
/* 数据 */
int roll;
char name[25];
int age;
/* 指针 */
struct stud *next;
};
因为在C语言中定义一个struct变量必须加上struct关键字,为了简洁起见,我们用node来替换:
typedef struct stud node;
我们声明了一个stud结构类型,其中包含了编号,名字和年龄等数据,以及指针类型为自身的指针变量。
定义一个创建链表的函数create_list()
</