结构体基础知识点(四)--用指针处理链表

前期回顾

  结构体基础知识点(一)–建立自己的数据类型
  结构体基础知识点(二)–使用结构体数组
  结构体基础知识点(三)–结构体指针


用指针处理链表

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
	
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值