主题:请教指针数组
comprehension
[专家分:0] 发布于 2010-05-04 17:00:00
请教数组beans[i][j]用指针表示:beans表示数组中第一行的地址,为什么*(beans+i)表示第i行的第一个元素的地址?而不是用beans+i?
回复列表 (共3个回复)
沙发
雪光风剑 [专家分:27190] 发布于 2010-05-04 18:53:00
对于二维数组而言 ,beans+i从值上看跟beans[i]也就是*(beans+i)是一样的,不过表示的意义不一样。前者表示的是该数组的第i行整体,后者表示第i行首地址(与该行第一个元素的地址值相同)
板凳
comprehension [专家分:0] 发布于 2010-05-05 14:29:00
谢谢。beans+i表示第i行地址,其实也就是第i行第一个元素的地址(因为是连续储存空间),所以我觉得*(beans+i)应该就是其应用值,即第一个元素的值,为什么不是呢?我想知道其原理。。。
3 楼
雪光风剑 [专家分:27190] 发布于 2010-05-05 18:42:00
分析一下类型就知道了
beans是int[][]
那么*beans是什么类型呢?自然就是int[]了,不是int哦~
我来回复