1 二维数组可以看作是多个一维数组
2 数组名就是数组的首地址
int arr[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
int* parr00 = &arr[0][0];
int* parr0 = arr[0];
cout<<arr[1][2] << endl;
cout << *(parr00 + 6) << endl;
cout << *(parr0+6) << endl;
本质上还是一个指针,指向数组的指针
int a[4] = { 1, 2, 3, 4 };
int(*p)[4] = &a;
// 定义了一个指针p,p是一个数组指针,指向元素类型为int,长度为4的一维数组
int arr[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
int(*parr)[3][4] = &arr;
//
int a[4] = { 1, 2, 3, 4 };
int(*p)[4] = &a;
cout << *p[1] << endl; // ??
cout<< (*p)[1] << endl; // 2
// (*p) : a
int arr[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
int(*parr)[3][4] = &arr;
cout << " " << (*parr)[1][2] << endl;
cout << " " << *(*((*parr) + 1) + 2) << endl;
指针数组
本质上还是一个数组,存储指针的数组
综合练习