鱼C论坛

 找回密码
 立即注册
查看: 1957|回复: 5

[已解决]C语言单链表问题

[复制链接]
发表于 2018-5-20 16:07:11 | 显示全部楼层 |阅读模式
5鱼币
小甲鱼在C语言单链表的视屏里的这个例子中library要双层解引用,说library是指向book结构体指针的指针,这是怎么理解的,希望大佬们能详细解答下,感觉小甲鱼举得例子好难理解
最佳答案
2018-5-20 16:07:12
白糖 发表于 2018-5-20 17:24
意思是指针变量library本来指向的就是节点的地址,所以要修改library指向的值才要双层解引用,是这样吗?

我们先说main函数里的library, 它是个什么,library是个指针,他不是结构体Book的载体,它只有四字节的内存空间,存放不下那么大的一个结构体内容,但是他可以指引你去找到这个结构体的载体

然后我们再说addBook的形参library 他是一个二级指针! 他存放的应该是什么! 应该是main函数里面的那个library,  了解了这个,我们再来说解引用   形参library 一层解引用 是不是就是main函数里面的library指针的地址!那么两层解引用是不是就是结构体的地址了。。你找到结构体的地址了,是不是就可以为所欲了,。。。。

QQ浏览器截屏未命名.png

最佳答案

查看完整内容

我们先说main函数里的library, 它是个什么,library是个指针,他不是结构体Book的载体,它只有四字节的内存空间,存放不下那么大的一个结构体内容,但是他可以指引你去找到这个结构体的载体 然后我们再说addBook的形参library 他是一个二级指针! 他存放的应该是什么! 应该是main函数里面的那个library, 了解了这个,我们再来说解引用 形参library 一层解引用 是不是就是main函数里面的library指针的地址!那么两层解引 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-20 16:07:12 | 显示全部楼层    本楼为最佳答案   
白糖 发表于 2018-5-20 17:24
意思是指针变量library本来指向的就是节点的地址,所以要修改library指向的值才要双层解引用,是这样吗?

我们先说main函数里的library, 它是个什么,library是个指针,他不是结构体Book的载体,它只有四字节的内存空间,存放不下那么大的一个结构体内容,但是他可以指引你去找到这个结构体的载体

然后我们再说addBook的形参library 他是一个二级指针! 他存放的应该是什么! 应该是main函数里面的那个library,  了解了这个,我们再来说解引用   形参library 一层解引用 是不是就是main函数里面的library指针的地址!那么两层解引用是不是就是结构体的地址了。。你找到结构体的地址了,是不是就可以为所欲了,。。。。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-20 17:01:58 | 显示全部楼层
  1. int a;
  2. int *p = &a;  // 一级指针,用于存储数据的地址
  3. *p; // 等于变量a的值
  4. //=================================
  5. int **pp  = p// 二级指针, 二级指针用于存储一级指针的地址
  6. *pp; // 等于 指针p的地址
  7. **pp // 等于 变量a的值

复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-5-20 17:24:55 | 显示全部楼层

意思是指针变量library本来指向的就是节点的地址,所以要修改library指向的值才要双层解引用,是这样吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-20 17:32:40 | 显示全部楼层
  1. #include<cstdio>
  2. using namespace std;
  3. int main()
  4. {
  5. int a;
  6. int *p = &a;  // 一级指针,用于存储数据的地址
  7. *p; // 等于变量a的值
  8. //=================================
  9. int **pp  = p// 二级指针, 二级指针用于存储一级指针的地址
  10. *pp; // 等于 指针p的地址
  11. **pp // 等于 变量a的值
  12. }

复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-5-20 18:17:33 | 显示全部楼层
风过无痕丶 发表于 2018-5-20 17:52
我们先说main函数里的library, 它是个什么,library是个指针,他不是结构体Book的载体,它只有四字节的 ...

感觉我自己指针学的很乱,绕来绕去,再和其他的知识点一结合好不容易明白的东西又迷糊了,多写点代码也不知道会不会好些,主要是现在想考研跨考计算机,时间紧练得少,要学的东西又太多,结果越学越没信心
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 08:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表