这段输出多维数组的代码 不理解
#include <iostream>using namespace std;int main(){ int ia[3][4]={ {1,2,3,4}, {2,3,4,5}, {3,4,5,6} }; int (*p)[4]; for(p = ia; p != ia+3; ++p){ for(int *q = *p; q != *p + 4; ++q ){ cout << *q << endl; } } return 0;}int (*p)[4];//p是指向一个含有四个元素的一位数组的指针 for(p = ia; p != ia+3; ++p){//p指向ia的第0,1,2行,一行一行的遍历 for(int *q = *p; q != *p + 4; ++q ){//q开始指向q指向的元素,也就是二维数组的第一 个,之后q指向每一行的第0,1,2,3个元素 cout << *q << endl; }