单向链表概述


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

  Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”“内容共创官” ,现在我来为大家介绍一下有关物联网-嵌入式方面有关数据结构方面的内容。


🍊单向链表概述

  线性表的链式存储结构,我们叫做链表。 将线性表L=(a0,a1,……,an-1)中各元素分布在存储器的不同存储块,称为结点,通过地址或指针建立它们之间的联系,所得到的存储绪构为链表结构。
  下图就是链表的结点:
在这里插入图片描述

数据域和指针域

数据域:结点的data域存放数据元素a0,
指针域:next域是一个指针,指向a0的直接后继a1所在的结点。
头结点和尾结点

头结点:链表中第一个结点我们叫做头结点,数据域默认不使用,只是用指针域。
尾结点:链表中最后一个结点我们叫做尾结点,尾结点的指针域为NULL
在这里插入图片描述
  在后面我们学习插入,删除等操作的时候,我们可以发现拥有头结点的链表是很容易在头部插入新的信息的。

数据类型设计

typedef int datatype_t;//用户自定义数据类型

typedef struct node
{
	datatype_t data; //数据域保存的有效数据
	struct node *next;//保存下一个结点的地址
]linknode_t;

解释为什么要用struct node *来定义next.
  next它是一个指针,那为什么这个指针时这个类型呢?因为这个指针指向的变量仍然是有data,有next两个成员,那么这个有data,有next的两个成员的类型是什么类型呢?就是这个struct Lnode 这种类型,所以这两个地方一模一样,只不过这里加了个*,表示是指向这个结点的指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值