参考自《C++ Primer》
template <typename T>
void disp(T i) {
cout<<i<<endl;
}
int main() {
int i = 0;
int j = 1;
int arr[2][2] = {{1,2},{3,4}};
// 长度为2的指针数组
int *p[2];
p[0] = &i;
p[1] = &j;
// 指向int数组的指针,注意这里的圆括号不能省略
int (*pp)[2] = &arr[0];
disp((*pp)[0]);
disp((*pp)[1]);
// ++pp 后移一行
++pp;
disp((*pp)[0]);
disp((*pp)[1]);
return 0;
}
- 1 指针数组:定义一个数组,其中的每个元素都是指针类型的(即同时定义了多个指针);
- 2 指向数组的指针:定义一个指针,该指针指向一个数组,因此对该指针执行 ++p操作,会令指针移动一行