a[5][6]是个二维数组,要表示a[i][j]的地址

*(a+i)+j(a+i)为什么要加*号,它本身不就是第i行的首地址吗??... *(a+i)+j

(a+i)为什么要加*号,它本身不就是第i行的首地址吗??
展开
 我来答
时欢悦0BF
推荐于2016-03-12 · TA获得超过609个赞
知道小有建树答主
回答量:624
采纳率:0%
帮助的人:728万
展开全部
a表示一个二维数据,a+i表示的是a[i]的地址,*(a+i)表示a[i][0]的地址,然后*(a+i)+j才表示a[i][j]的地址。
a表示二维,加*表示一维,所以要加*。
追问
那要用a表示整个二维数组的首地址呢???应该怎样表示???能直接用一个a吗??
追答
是的一个单独的a是表示整个二维数组的首地址,
因为a,*a的值是相同的,但是说语义不同,所以容易引起歧义。
能不能直接使用a还是要看做什么?表示什么语义?
爷已戒烟很多年
2014-12-16 · TA获得超过667个赞
知道小有建树答主
回答量:168
采纳率:100%
帮助的人:132万
展开全部
a+i对于二维数组来说,不表示第二行首地址,它表示的是第二行的地址,只是第二行的首元素地址跟第二行地址是同一个地址,在数值上是相等的,但是表示的意义却是不一样的——
追问
那要用a表示整个二维数组的首地址呢???应该怎样表示???能直接用一个a吗??
追答
整个数组的地址就直接用a就可以了,整个数组第一行的地址、整个数组第一行首元素的地址、整个二维数组首元素的地址也都跟a同值,a表示的是一个起始地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式