方法一 用指向单个整型常量的指针p依次访问每个元素
int main() {
int i, j;
int a[2][3] = { 1,2,3,4,5,6 };
int* p = &a[0][0];
for (i = 0; i< 2; i++) {
for (j = 0; j < 3; j++) {
cout << left << setw(3) << *p;
p++;
}
cout << endl;
}
return 0;
}
方法二 用指向一个数组的指针p访问每一行
int main() {
int i, j;
int a[2][3] = { 1,2,3,4,5,6 };
int(* p )[3]; //一个数组指针,p指向第一行的一维数组
p = a;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
cout << left << setw(3) << p[i][j];
}
cout << endl;
}
return 0;
}
看了一篇文章后 对指针数组和数组指针有了更好地理解。
运用 运算符优先级区别 ()>[]>*,
int(*p)=[5] 是数组指针 是一个指向一维数组的指针,p+1指向下一个一维数组,
int *p=[5] 是指针数组,是包含多个指针的数组。
附上链接