前期回顾
结构体基础知识点(一)–建立自己的数据类型
结构体基础知识点(二)–使用结构体数组
结构体基础知识点(三)–结构体指针
用指针处理链表
1. 链表
动态地进行存储和分配的一种结构。如果难以确定一个班的人数,必须把数组定义的足够大,以便能存放任何班级学生的数据,这会造成浪费内存,链表则没有这种缺点。

链表有一个"头指针"变量,图中以 head 表示,它存放一个地址,该地址指向一个元素。链表中每一个元素称为"结点",每个结点都包括两部分:(1) 用户需要用的实际数据 (2) 下一结点的地址。在表尾的地址部分放一个"NULL"(表示"空地址"), 链表到此结束。
2. 建立简单的静态链表
栗子1:
建立如下图所示的简单链表,它由3个学生数据的结点组成,要求输出各结点中的数据

#include <stdio.h>
struct Student
{
int num;
float score;
struct Student *next;
};
int main()
{
struct Student a,b,c,*p,*head;
a.num=10101; a.score=89.5;
b.num=10103; b.score=90;
c.num=10107; c.score=85;
head=&a; // 将结点a的起始地址赋给头指针head
a.next=&b; // 将结点b的起始地址赋给a结点的next成员
b.next=&c;
c.next=NULL;
p=head;
do

最低0.47元/天 解锁文章
912

被折叠的 条评论
为什么被折叠?



