鱼C论坛

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

[已解决]C语言指针课后作业,不懂的地方,我来请教一下

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

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

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

x
p+1是指向整个数组最后的位置,那么*(p+1)应该是取值的意思,继而往下思考,*(p+1)-6  应该是整个数组最后位置的值减去6,   这与小甲鱼老师的解释想矛盾,所以就更不能理解在取得该位置的值后,怎么又有一个取值符号,像这样*(*(p+1)-6)
最佳答案
2017-8-15 17:17:04
lizhiyong_11 发表于 2017-8-15 17:13
你的思路我基本上都懂了,但是有一个地方我没有懂,*(p+1)为什么相当于第二个包袱的地址,*号不是取值 ...

既然你懂了,那解释就容易了,就是打开,打开了第二个包袱,然后打开后的地址是什么那,我括号里说了,是第二个包袱第一个元素的地址,然后-6因为数不够就跑去了第一个包袱,就到了那个下标4的地址了。
如果懂了没问题了记得点“最佳答案”哦
微信截图_20170815160151.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-15 16:53:22 | 显示全部楼层
本帖最后由 丶忘却的年少o 于 2017-8-15 17:02 编辑

打个比方,首先p = &array,就是把整个数组当成一个整体看待,比方打包变成一个包袱,p+1就是第二个包袱
*(p+1) 相当于第二个包袱地址,(因为数组名也可以有数组第一个元素的地址这一说)那*(p+1)-6就是第一个包袱里下标4的地址,那么值是什么那,就要重新解引用一次*(*(p+1)-6) = 4
不知道我这么说你能明白吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-15 17:13:08 | 显示全部楼层
丶忘却的年少o 发表于 2017-8-15 16:53
打个比方,首先p = &array,就是把整个数组当成一个整体看待,比方打包变成一个包袱,p+1就是第二个包袱
* ...

你的思路我基本上都懂了,但是有一个地方我没有懂,*(p+1)为什么相当于第二个包袱的地址,*号不是取值的意思吗?取址符不是&吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-15 17:17:04 | 显示全部楼层    本楼为最佳答案   
lizhiyong_11 发表于 2017-8-15 17:13
你的思路我基本上都懂了,但是有一个地方我没有懂,*(p+1)为什么相当于第二个包袱的地址,*号不是取值 ...

既然你懂了,那解释就容易了,就是打开,打开了第二个包袱,然后打开后的地址是什么那,我括号里说了,是第二个包袱第一个元素的地址,然后-6因为数不够就跑去了第一个包袱,就到了那个下标4的地址了。
如果懂了没问题了记得点“最佳答案”哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-15 17:30:05 | 显示全部楼层
丶忘却的年少o 发表于 2017-8-15 17:17
既然你懂了,那解释就容易了,就是打开,打开了第二个包袱,然后打开后的地址是什么那,我括号里说了,是 ...

已经给你设置最佳答案了,不过我还是想追问一下哈,希望你不要介意,*(p+1)明明是取值的意思,怎么就变成了地址了呢?这个问题可以解释一下吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-15 17:42:33 | 显示全部楼层
lizhiyong_11 发表于 2017-8-15 17:30
已经给你设置最佳答案了,不过我还是想追问一下哈,希望你不要介意,*(p+1)明明是取值的意思,怎么就变 ...

没关系,本来就是来给你解答的嘛。
我再换个说法,这么说吧,array[10]10个元素看成一个整体的地址,p+1就是第二个10个元素看成一个整体的地址。那我把这两个地址看成一个数组比如a[2]={前10个,后10个},那我p加不加1就是在a这个数组里面选择要前10个还是后10个的地址。假设我选了p+1,*(p+1)就变成了第二个10个元素的地址的首地址,*(p+1)-6就是第一个10个里的下标4地址,那我有了地址我要值,就只能再取一次*(*(p+1)-6)
这个应该比上一个解释要好。你要是还是不懂就再问,别客气

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
lizhiyong_11 + 5 + 5 感谢已经懂了!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 12:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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