定义结点,用结构体

next存的是下一个结点的地址,所以它是一个指针型

首先结点是一个结构类型,先说明他有两个成员,一个是元素类型,叫data;另一个next,struct Lnode和上面的一模一样,是一个指向这种类型的一个指针,这种类型是又包括两个成员的指针,自己来定义自己,嵌套定义。

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

typedef是将这种结构类型重新起了一个名字,是这个叫做Lnode的,而*Linklist是一个指针,指的是指向这个结点的指针

请务必记住他们两个都是类型

比如说我用这个Lnode 定义一个a
Lnode a;

表示有一个a结点

要操作a呢,就要用a.

a.data

a.next来操作他的两个成员

Lnode是一个普通类型

那我们要是定义这个指向这种地址呢?

可以Lnode *p

那么前面已经加*的表示什么呢?

就是表示指向这种结构结点的指针类型,我们在来定义时候就不需要加*号了

比如说这个头指针,他是指向这种有数据域,有指针域的结点的指针,那我们定义这个L呢?我们用 Lnode *L;指向这个结点的指针

简化可以用 Linklist L;因为Linklist本身是指向这种类型的指针,这里的*表示他是指针型

好,这就是单链表存储结构的定义

一般用LinkList L而不是用Lnode *L,如下

指向结点的指针也通常用左边这种种方式,如下

看一下例子

结构类型Struct student

前面Struct student什么意思呢?就是指针指向哪一类型的变量,就指向着中包含了四个成员的类型。

但这种方法不常用,要用下面右边的

先将数据域当中要存储的多个数据项定义成一个结构类型,然后直接用这个结构类型来定义一个数据域data

最后可以的话插个对比

struct Lnode *next相关推荐

  1. c和c++中 typedef struct与struct,以及 typedef struct LNode *list

    struct和typedef struct彻底明白了 typedef struct LNode *list和struct LNode有什么区别 typedef在C中叫做声明别名,就是说同种事物的另外一 ...

  2. struct lnode是什么结构类型_【自考】数据结构第三章,队列,期末不挂科指南,第4篇

    队列 这篇博客主要介绍一下队列的概念,并且采用C语言,编写两种存储实现方式:顺序存储和链式存储,当然还有常规的队列基本操作的实现算法 队列基本概念 标准解释:队列(Queue)是有限个*同类型*数据元 ...

  3. 关于数据结构(c语言)中结构体声明的typedef struct LNode, *LinkList的思考

    在数据结构的链表,表示中 typedef struct Node * PtrToNode 和 typerdef struct List的表示说明 typedef struct Node * PtrTo ...

  4. struct lnode是什么结构类型_练字应该练什么之:汉字基本结构的类型

    [练字应该练什么之:汉字基本结构的类型\部分字例和内容源自钱沛云<硬笔书法五十讲>] 谈到学习书法的结构问题,不由想起这样一句歌词:"最爱写的字啊是先生教的方块字,方方正正做人要 ...

  5. 对于单链表结构体中LinkList以及Lnode,*LinkList两种不同定义方式的个人理解

    在学习数据结构时,我们可以看到不同的书籍或者不同的人对于单链表结构体的定义是不一样的. 大致分为下面两种 第一种 typedef int ElemType; typedef struct Lnode{ ...

  6. 数据结构(06)— 线性循环链表实战

    1. 循环链表定义 单链的循环链表结点的存储结构和单链表的存储结构一样, 所不同的是: 最后一个结点的 next 域指向头结点, 而不是"空".这样, 由表尾很容易找到表头. 但若 ...

  7. 数据结构(05)— 线性单链表实战

    1. 设计思路 本项目的实质是完成对考生信息的建立.查找.插入.修改.删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结 ...

  8. 数据结构与算法——线性结构——线性表及其表示

    -"一,线性结构 1.顺序储存结构直接表示 多项式. 1).使用数组来表示多项式.(用数组下标来表示指数,值来表示系数) 可以表示成: 2).使用结构数组来表示.(把系数和指数看成一个二元组 ...

  9. 题目1444:More is better

    时间限制:3 秒 内存限制:100 兆 特殊判题:否 提交:1362 解决:640 题目描述: Mr Wang wants some boys to help him with a project. ...

  10. 两个有序单链表的并交差运算

    /*实验2.6:求集合(有序单链表表示)的并.交和差运算*/ #include<iostream> #include<malloc.h> using namespace std ...

最新文章

  1. JSP简单练习-数组应用实例
  2. selenium模拟H5触摸滑动之-TouchAction
  3. Linux先发送条件变量,浅谈Linux条件变量的使用
  4. 东北农业大计算机排名,黑龙江高校排名更新,东北林大排名第3,东油排名第8...
  5. Nodejs nmp 常用命令
  6. (34)Verilog HDL算术运算:加减乘除运算
  7. NSArray 数组
  8. 魔兽世界阿拉索人数最多服务器,魔兽世界8月国服人口普查 2019wow各服务器阵容比例汇总...
  9. 计算机编程的双引号怎么打,计算机双引号怎么打出来
  10. 对团队中“这是某某某的问题”引起的思考
  11. 明朝崇祯十年丁丑科状元刘同升后裔在松滋
  12. xlsx表格怎么做汇总统计_表格进行分类汇总怎么做
  13. 批量转换经纬度的网页实现方法
  14. Python 导出EXCEL
  15. django之十一--开发一个简单的醉得意菜单和人均支付金额查询页面
  16. 解码2022中国网安强星丨注重攻防实战化验证,长亭以安全原子能力打造体系化安全
  17. 开源的lua-studio使用VS2019编译过程
  18. 画世界怎么用光影_你该不会还搞不懂绘画中的光影效果该怎么运用吧?
  19. ns16550串口驱动
  20. 优秀软文发布案例:它比你想象的要低

热门文章

  1. 多台电脑之间共享键盘鼠标
  2. 计算机一级考试网络题的图标,全国计算机等级考试一级模拟试题四
  3. 从魅力品质到伟大产品-卡诺模型
  4. linux手机 电脑传文件怎么安装,centos7上成功安装iptux,成功实现安卓手机和Linux传送文件...
  5. 好用的轻量级http接口测试工具(替代PostMan)
  6. 航空发动机性能matlab,基于MATLABSIMULINK的航空发动机建模与仿真研讨.pdf
  7. JS设计模式 - 工厂模式
  8. 华为研发模式演进历程
  9. 如何打开PDF文档?必看的5种方法
  10. winapi获取鼠标指向当前元素