编程论坛
注册
登录
编程论坛
→
C++教室
关于指针指向二维数组,c++,
fishviv
发布于 2010-09-10 18:42, 600 次点击
cout<<*(*(p+i)+j)<<" ";为什么这样就可以输出啦,*p++不可以依次输出吗?
3 回复
#2
staor
2010-09-10 20:42
*(p+i)是指向二位数组的行首地址,,
*(p+i)+j是指向二维数组中具体的元素地址,,如*(p+2)+3就是指向数组第3行第4个元素的地址.
即&p[2][3];以上就是输出*(*(p+i)+j)对应的值.
*p++就是*(p++),在 循环中 就能一次输出数组中的值..否则只输出一个值.
:-D
#3
fishviv
2010-09-10 22:00
平常的*p不是指的一个值吗?怎么*(p+i)就是一个地址了?
#4
hipwang88
2010-09-12 22:03
回复 3楼 fishviv
你这里的P是个指向二维数组的指针,那么这个p就是指向指针的指针,很显然*(p+i)就是个指针落,那么他的值就是个地址值了
,给分,不懂可以继续问,耐心解答
1