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");
}

运行结果如下:

posted @ 2017-03-31 21:29  why2cs  阅读(183)  评论(0)    收藏  举报