typedef int(*A)[3];\\首先可以用typedef简化定义
\\将A定义为一个指向一个每行长度为三的二维数组指针
int a[2][3] = { {1,2,5},{3,4,6} };
int main() {
A p = a;
cout <<*(p) << endl;
cout << p << endl;
cout<<**p<<endl;
cout<<*(p+1)<<endl;
cout<<p+1<<endl;
cout<<**(p+1)<<endl;
cout<<*(*p+1)<<endl;
return 0;
}
运行结果
00C9A000
00C9A000
1
00C9A00C
00C9A00C
3
2
可见,二位数组的指针,只加一个*或者不加,效果一样,都是指向一行(一个一维数组),对其的迭代相当于遍历行,**才能访问到里面的元素。