舞蹈培训学校管理制度:C中2维数组 *(a+1) 代表什么

来源:百度文库 编辑:神马品牌网 时间:2024/05/10 20:05:20
a[x][x]2维数组

*(a+1)

我觉得应该是第1行(即第2行)的数值吧

为什么说是第一行第0列元素的a[1][0]的地址呢

*p 不就是代表指针p所指向的地址中存贮的数值么。。

这里有一点不太明白

数组名a表示数组a的首地址, 是a[]的首地址, 同时也是a[][]的首地址。 *(a+1)是把a看作是一维的数组, 它其中每个元素也是一个一维数组。 所以*(a+1)就是这个总的一维数组的第二个元素, 也就是二维数组的第二行。 而*(a+1)本身又是一个数组, 它指向这个数组的首地址。 综上所述, *(a+1)是这个二维数组的第1行的第0个元素。

数组名a表示数组a的首地址,也就是 a[0][0]的地址。*(a+1)是把a看作是一维的数组,且其中每个元素也是一个一维数组。 (a+1)是这个二维数组的第1行的行地址(&&a[1][0])。 *(a+1)将行地址变成列地址,即*(a+1)代表第一行0列元素地址(&a[1][0])。而**(a+1)代表这个二维数组的第1行的第0个元素(a[1][0])。

数组名a表示数组a的首地址,也就是 a[0][0]的地址。*(a+1)是把a看作是一维的数组,且其中每个元素也是一个一维数组。 *(a+1)是这个二维数组的第1行的第0个元素。

二维不同了,*(a+1)已经是地址了,表示指向第二行地址的首地址
如果三维的话**(a+1)是地址了,四维***(a+1)是地址

*(a+1)代表第一行0列元素地址。