关于对数组元素a[i][j]的引用:*(*(a+i)+j)为什么也正确呢,*(a+i)等价于a[i]么?
答案:2 悬赏:70 手机版
解决时间 2021-04-01 10:34
- 提问者网友:贪了杯
- 2021-04-01 05:39
关于对数组元素a[i][j]的引用:*(*(a+i)+j)为什么也正确呢,*(a+i)等价于a[i]么?
最佳答案
- 五星知识达人网友:duile
- 2021-04-01 06:03
首先a是二维数组的首地址,也是二维数组第一行的首地址,是个常量指针,
a[i]也是地址,表示第 i 行的地址,
a+i表示相对于地址a偏移 i 个单位的地址,与a[i]等同,
*(a + i)表示对 相对于地址a偏移 i 个单位的地址 取内容,即表示对a[i] 的地址 再取内容,因为a[i] 与&a[i]等同,所以取出的为a[i]的地址,也与a[i]等同,为同一地址。
而*(*(a+i)+j)表示二维数组第 i 行第 j 列的元素,与a[i][j]等同。
a[i]也是地址,表示第 i 行的地址,
a+i表示相对于地址a偏移 i 个单位的地址,与a[i]等同,
*(a + i)表示对 相对于地址a偏移 i 个单位的地址 取内容,即表示对a[i] 的地址 再取内容,因为a[i] 与&a[i]等同,所以取出的为a[i]的地址,也与a[i]等同,为同一地址。
而*(*(a+i)+j)表示二维数组第 i 行第 j 列的元素,与a[i][j]等同。
全部回答
- 1楼网友:胯下狙击手
- 2021-04-01 07:28
试过了没有?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯