| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> struct Lnode *next -> 正文阅读 |
|
[数据结构与算法]struct Lnode *next |
定义结点,用结构体 next存的是下一个结点的地址,所以它是一个指针型 首先结点是一个结构类型,先说明他有两个成员,一个是元素类型,叫data;另一个next,struct Lnode和上面的一模一样,是一个指向这种类型的一个指针,这种类型是又包括两个成员的指针,自己来定义自己,嵌套定义。 再来一遍:它是一个指针,那为什么这个指针时这个类型呢?因为这个指针指向的变量仍然是有data,有next两个成员,那么这个有data,有next的两个成员的类型是什么类型呢?就是这个struct? ? ?Lnode 这种类型,所以这两个地方一模一样,只不过这里加了个*,表示是指向这个结点的指针。 ? typedef是将这种结构类型重新起了一个名字,是这个叫做Lnode的,而*Linklist是一个指针,指的是指向这个结点的指针 请务必记住他们两个都是类型 ? 比如说我用这个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 最后可以的话插个对比 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:39:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |