回 帖 发 新 帖 刷新版面

主题:请教指针数组

请教数组beans[i][j]用指针表示:beans表示数组中第一行的地址,为什么*(beans+i)表示第i行的第一个元素的地址?而不是用beans+i?

回复列表 (共3个回复)

沙发

对于二维数组而言 ,beans+i从值上看跟beans[i]也就是*(beans+i)是一样的,不过表示的意义不一样。前者表示的是该数组的第i行整体,后者表示第i行首地址(与该行第一个元素的地址值相同)

板凳


谢谢。beans+i表示第i行地址,其实也就是第i行第一个元素的地址(因为是连续储存空间),所以我觉得*(beans+i)应该就是其应用值,即第一个元素的值,为什么不是呢?我想知道其原理。。。

3 楼

分析一下类型就知道了
beans是int[][]
那么*beans是什么类型呢?自然就是int[]了,不是int哦~

我来回复

您尚未登录,请登录后再回复。点此登录或注册