注册 登录
编程论坛 C++教室

关于指针指向二维数组,c++,

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