链表的定义
链表是一种常见的重要数据结构。它是动态地进行储蓄分类的一种结构。
链表有一系列节点构成,节点在运行时动态生成,每个节点包括数据域,数据域存储当前节点的信息,指针域存储下一个节点的手地址。
为什么要使用链表?
内存随着时间的增加会找不到大块的顺序空间
数组的大小只能是固定的,增加或删除都会移动大量数据
链式存储大小可以伸缩
链式存储利用率高
链表分为静态链表和动态链表,首先我们从建立静态链表开始。
静态链表中的结点都是在程序中定义的,不是临时开辟的。
代码如下
#include <stdio.h>
struct Student
{
int num;
float score;
struct Student *next;
};
int main()
{
struct Student a, b, c, *head, *p; //声明结构体类型
a.num = 10101;
a.score = 89.5;
a.num = 10103;
a.score = 90;
a.num = 10107;
a.score = 85; //对各节点成员赋值
head = &a; //将结点a的起始地址赋给头指针head
a.next = &b;
b