关于指向多维数组的指针变量问题
rwle 2004-04-02 04:41:17 #include <iostream.h>
void main()
{int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int (*p1)[4]=a;
for (int i=0;i<3;i++,p1++)
cout<<*(*p1+i)<<' ';
}
这是书上的一段程序
执行后结果是:1 6 11
我看了半天也没明白过来,(*p1)[4]=a;代表着什么意思,这时*p1指向什么?p1中的内容是什么?
p1++应该是指向下一行的首地址,那p1+i;呢?
*p1+i;又是什么意思?
*(*p1+i);是什么?
我整个头都大了,被搞的迷迷糊糊的,还请各位大大帮帮我理清头绪.