鱼C论坛

 找回密码
 立即注册
查看: 2142|回复: 7

[已解决]指向指针的指针,指针与变量的指向与解引用求教一下清晰概念

[复制链接]
发表于 2017-8-21 20:17:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如果有**pt,*pp,p,这样两个指针一个变量。
**pp指向*p,*p指向变量a。

我网上搜了一下,加上自己的了解,把自己的个人理解写出来:
指针实际上可以看成是一种存储地址的变量,它们都有实际的地址。
如上所述,变量a是内存中的一个地址,里面存储一个值。而用户使用这个值的时候,是不需要*解引用的。
而指针*p实际上也是内存中的一个地址,它里面存储了变量a的地址,指针p通过这个地址指向变量a,而这个时候需要使用a里面的值的时候,就需要*p,进行解引用操作。
而**pp,指向指针p的指针,它同指针p也是一个地址,里面存储了指针p的地址,通过这个地址指向指针p。因而一层解引用,也就是*pp,仅能让指针pp指向指针p。
也就是说**pp==*p==a;
而*pp==p,这个时候p只是一个地址,这个地址的内部存储着变量a的地址。
只有在双层仅引用**pp的时候,指针才指向了a,它这时等价于a。
所以
printf("%d\n",**pp)
才会等价于
printf("%d\n",a)

而因为取变量的值是不需要*解引用的,用了只会出错,所以几层指针,就用几个*才能指到最底层的变量,这样想就比较好理解了。
也不知道我这么想对不对,希望老师来解答一下,也希望还在埋头苦学的同学们来激烈讨论一下。

ps:关于多层指针与多维数组的关系我大概抓住一点,但又很模糊,希望真正懂的老师来帮我解答一下
最佳答案
2017-8-21 21:11:46
我也是刚学,来说说我自己的理解吧。比如说*p就可以和一位数组相似,**pp就和二维数组相似,依次列推……。p的取值就p+常数(1,2,3什么的),就和一位数组的下标一样的,取值一次就可以了。pp那就要先确定在哪个列再确定在该列的哪个位置,所以取值需要解引用两次第一次是列,第二次是行。往后的多维也可以这么去推。
不知道我怎么说你能明白吗?不明白记得回我,让我自己讲可能有点乱,你一个一个的问就能好说一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-21 21:11:46 | 显示全部楼层    本楼为最佳答案   
我也是刚学,来说说我自己的理解吧。比如说*p就可以和一位数组相似,**pp就和二维数组相似,依次列推……。p的取值就p+常数(1,2,3什么的),就和一位数组的下标一样的,取值一次就可以了。pp那就要先确定在哪个列再确定在该列的哪个位置,所以取值需要解引用两次第一次是列,第二次是行。往后的多维也可以这么去推。
不知道我怎么说你能明白吗?不明白记得回我,让我自己讲可能有点乱,你一个一个的问就能好说一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-21 21:24:36 | 显示全部楼层
丶忘却的年少o 发表于 2017-8-21 21:11
我也是刚学,来说说我自己的理解吧。比如说*p就可以和一位数组相似,**pp就和二维数组相似,依次列推……。 ...

恩,我也是这么理解的,你这么一说我就感觉清晰很多。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-21 21:27:52 From FishC Mobile | 显示全部楼层
正在卓尼小乱 发表于 2017-8-21 21:24
恩,我也是这么理解的,你这么一说我就感觉清晰很多。

那就好,记得多做作业,能加深印象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-22 08:11:58 | 显示全部楼层
正在卓尼小乱 发表于 2017-8-21 21:24
恩,我也是这么理解的,你这么一说我就感觉清晰很多。

如果没什么问题了,记得点“最佳答案”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-14 14:18:53 | 显示全部楼层
拿奖励去学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-16 11:11:42 | 显示全部楼层

回帖奖励 +5 鱼币

顶楼主,加油↖(^ω^)↗。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-21 09:57:26 | 显示全部楼层
顶一个,厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-18 14:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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