标题:关于指针指向二维数组,c++,
只看楼主
fishviv
Rank: 1
等 级:新手上路
帖 子:45
专家分:9
注 册:2010-9-10
结帖率:90.91%
已结贴  问题点数:10 回复次数:3 
关于指针指向二维数组,c++,
cout<<*(*(p+i)+j)<<" ";为什么这样就可以输出啦,*p++不可以依次输出吗?
搜索更多相关主题的帖子: 指针 
2010-09-10 18:42
staor
Rank: 2
等 级:论坛游民
帖 子:12
专家分:45
注 册:2010-9-5
得分:5 
*(p+i)是指向二位数组的行首地址,,
*(p+i)+j是指向二维数组中具体的元素地址,,如*(p+2)+3就是指向数组第3行第4个元素的地址.
即&p[2][3];以上就是输出*(*(p+i)+j)对应的值.
*p++就是*(p++),在 循环中 就能一次输出数组中的值..否则只输出一个值.
:-D
2010-09-10 20:42
fishviv
Rank: 1
等 级:新手上路
帖 子:45
专家分:9
注 册:2010-9-10
得分:0 
平常的*p不是指的一个值吗?怎么*(p+i)就是一个地址了?
2010-09-10 22:00
hipwang88
Rank: 2
等 级:论坛游民
威 望:1
帖 子:23
专家分:36
注 册:2010-9-12
得分:5 
回复 3楼 fishviv
你这里的P是个指向二维数组的指针,那么这个p就是指向指针的指针,很显然*(p+i)就是个指针落,那么他的值就是个地址值了,给分,不懂可以继续问,耐心解答
2010-09-12 22:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-320008-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.100519 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved