66问答网
所有问题
C语言中多维数组地址**(a+1)怎么详细理解?
如题所述
举报该问题
其他回答
第1个回答 2017-12-11
*(p+n)等效于p[n]
所以
**(a+1)
=*(*(a+1)+0)
=*(a[1]+0)
=a[1][0]
追问
书上说是a[0][1]是书错了吗
追答
a[0][1]是*(*a+1)
本回答被提问者和网友采纳
相似回答
*(a+1)
是表示
地址
还是数据呀
*的
内容不是数据嘛,那*(a+1)表示的不是a...
答:
这个要看是几维数组,如果是一维的就表示数据,多维的就代表地址
!例如二维数组a[2][3],代表的就是a[1][0]的地址!
C
中2
维数组
*(a+1)
代表什么
答:
数组名a表示数组a的首地址, 是a[]的首地址, 同时也是a[][]的首地址。
*(a+1)是把a看作是一维的数组, 它其中每个元素也是一个一维数组
。 所以*(a+1)就是这个总的一维数组的第二个元素, 也就是二维数组的第二行。 而*(a+1)本身又是一个数组, 它指向这个数组的首地址。 综上所述...
c语言
二维
数组
与指针,我想知道为什么
*(a+1)
.与显示中
的
a+1,所给出的...
答:
(
*(a+
i)+j)这个是表示i行的第j个数据,注意啊,是两个 要是不
理解
,记住套用即可 一个*是指针 所以ij都是指针
a+1
是一个指针,表示第1行的首
地址(c中数组
时从0开始计数的)在二维数组中,a,a[0],&a[0][0]这三个指针虽然都是a的首
地址的
值,但是在c中用起来是不一样的 a表示...
int a[2][2]={{1,2},{3,4}},那
*(a+1)
代表什么?
答:
x表示行,y表示列。
所以*(a+i)表示的是第i行的行首地址,所谓行首地址,也就是该行的数组成员的首地址
。是可以等同的视为&a[i][0]的。所以,这里的*(a+1)代表第一行的数组成员的首地址。第一行数组成员为{3,4},所以*(a+1)也就指向&a[1][0],也就是这里的3这个数组成员的地址 ...
C语言中
的二维
数组里
a+1和
*(a+1)
为什么都是
地址
答:
二维数组又包含多个一维数组,a指向第一个一维
数组的
首地址就还是地址。a+bai1应该是 (a+0)+1 这里的a是二维
数组中的
二级指针 数组名为a[0]的一维数组(表示行)也是数组名为a的一维数组(表示列)后面的1表示行数组移动1行 0表示列的移动 所以是1行0列
的地址
(a+1)中
a是二级指针 取值...
*(a
[1]
+1)
是什么意思
答:
如果你说的是
C语言
,那么a[1]代表
数组a的
第一个元素,*是寻址符,会寻找内存
中地址
为其后面值的变量,并返回该变量的值。比如数组a[n]的第一个元素a[1]是1000,那么该a[1]
+1
就是1001,该表达式即返回地址为1001的变量的值。
大家正在搜
多维数组转一维数组
多维数组C语言
c语言怎么输出数组
c语言中数组的定义
c语言二维数组
c语言数组函数
c语言函数调用数组
java多维数组
C语言 数组