33问答网
所有问题
c语言二维数组里(a+i)[j]表示的是地址还是值?
是第i行第j列的值吗?(a+i)+j和它等价吗?
举报该问题
推荐答案 2020-05-23
(a+i)[j]表示地址。
a[i]表示第i行的首地址。
a[i]+j表示第i行j列元素的地址。
*(a[i]+j)代表i行j列元素的值。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://33.wendadaohang.com/zd/RW0R4B5BRRRPP00hh0B.html
其他回答
第1个回答 2020-05-23
[]具有降维的作用。如a是
二维数组
,则a[]表示某个一维数组(即某一行),而a[][]继续降维,表示某个元素了。
作为对比,+没有降维的作用
本回答被网友采纳
相似回答
...
a+i是a[i]的
指针,既然这样,那么*
(a+i)
为什么
还是
答:
a+i其实就是&a[i],肯定是地址 (a+i)其实就是a[i]
,如果a是二给数组的数组名,a[i]就肯定是地址(等同于&a[i][0]),如果a只是一维数组(指针数组除外)的数组名,a[i]就不是地址(原因是:二维数组可以看作是多个一维数组组成,即数组的数组)(a+i)+j就是&a[i][j],如果数组a是二维...
C语言
,
二维数组
和指针
答:
a[i]是有物理地址的
,是占内存单元的。但如果a是二维数组,则a[i]是代表一维数组名。它只是一个地址(如同一维数组名只是一个指针常量一样。) a,a+i,a[i],*(a+i),*(a+i)+j,a[i]+j都是地址。 *(a[i]+j)和*(*(a+i)+j)是二维数组元素a[i][j]的值。举例说明一下:...
C语言中
如何用指针运算符来
表示
一个
二维数组的
元素及
地址?
答:
拿*(*(a+i)+j)来说:a是数组的首地址吧,然后+i,就是说a地址向后偏移i位。
就是a+i的地址了
,注意,这里a+i只是地址,用*符号取出该地址的数据,就是*(a+i),这里*(a+i)就是第一维指针,它指的是地址,不是数据。而且后面的*(a+i)+j就是说以*(a+i)为首地址,偏移j位,然后...
大家正在搜
c语言二维数组赋值
c语言中二维数组的定义
c语言二维数组排序
c语言输出二维数组
c语言二维数组求和
c语言二维数组指针
c语言二维数组例题
java二维数组size
若二维数组a有m列则在aij
相关问题
为什么C语言中二维数组的数组名a和*a表示的是同一个值?
C语言中 二维数组@a[i][j]的地址为什么可以表示成*(...
为什么C语言中*(a+i)+j能表示a[i][j]的地址
c语言中二维数组a[i][j],为什么a=*a?
C语言的二维数组中a[i]+j这个j为什么表示的是字节数?
c语言中,二维数组的&a[i]+j和a[i]+j 一样吗?
c语言中二维数组a【i】【j】这个i指的是横向的还是竖向的。
c语言:已知二维数组a[i][j],问a+i与a[i]是不是...