C++的数组,多维数组,指针,指向数组的指针
实例总结如下:
int main()
{
int a[3][2] = { 5,6,9,8,7,0 };
int (*p)[2] = a; //p指向a[0]{5,6}
p = p + 1; //p指向a[1]{9,8}
cout << p << endl; //p指向a[1]{9,8},结果为指向一维数组的指针。
cout << *p << endl; //*p即a[1]{9,8},结果为一维数组本身,自动转化为一维数组的地址。
cout << **p << endl; //**p即a[1][0] 9,结果为一维数组的首元素。
cout << **(p+1) << endl; //p+1指向a[2]{7,0},**(p+1)即a[2][0] 7,结果为一维数组的首元素。
cout << *(*p + 1) << endl; //*p指向a[1],*p+1指向a[1][1],*(*p + 1)即a[1][1] 8,结果为一维数组的第二个元素。
system("pause");
}
运行结果如下: