c++中有二维数组a[3][3],指针p指向&a[0][0]那么请问p[1]表示什么啊?

如题所述

第1个回答  推荐于2016-03-21
二维数组如:
a[3][3];
a[0] = {1,2,3};
a[1] = {3,4,5};
a[2] = {5,6,7};

p指向二维数组;
p[1] == a[1]追问

恩恩,那我还想问问若二维数组的初始值就是您说的那九位数那么p[7]又是指什么呢?

追答

不好意思,刚才说的有点错误:

有两种情况

    int* p = &a[0][0];  那么每次移动的单位就是int  ,可以把二维数组当作一个大的一维数组

    p[0] = 1;

    p[1] = 2;

    所以p[7] = 6;  (数组下标从0开始)

    int (*p)[3] = &a[0]; 这种是每次移动一个一维数组的宽度,a[3][3],一维数组的宽度就是3*sizeof(int)



        p[7] 就是指向第7个一维数组


你这里用的是第一种情况,刚才没仔细看,不好意思


说了这么多,估计你还是不明白,看看下边链接,对你有帮助:

http://wenku.baidu.com/link?url=WqRd7jnM6rNTW-qJNLN4xGBOBM13RNWzBdeHX8SHuqcmbDN8Wgt2tg5lxI7R7LeG5i-XgeQMm7roV4lNm1pkauC-kjSRZTP9vUtXhNsojr3

本回答被提问者采纳
相似回答