关于二维数组元素的地址表示方法 &a[i][j]a[i]+j*(a+1)=j&a[0][0]+4*i+ja[0]+4*i

关于二维数组元素的地址表示方法
&a[i][j]
a[i]+j
*(a+1)=j
&a[0][0]+4*i+j
a[0]+4*i+j
以上五个都为表示方法 每一个都要给详细的解释
a[i]=*(a+i)为什么
前提int a[3][4]
fuhkhjvljhyi 1年前 已收到1个回答 举报

zgx7308 花朵

共回答了17个问题采纳率:94.1% 举报

&a[i][j] 表示数组a中第i行第j列的元素的地址
a[i]+j 如果数组a定义为一个二维数组,那么a[i]+j 就表示第i行第j列的元素的地址,和上面那个一样,如果数组a是一维数组,那么就表示一个表达式的值
*(a+1)=j 数组名表示第一个元素的地址,加1后表示a[0][1]的地址,这句相当于a[0][1]=j;
&a[0][0]+4*i+j 这个表示a[i][j]的地址,前提是a的列数为4
a[0]+4*i+j 这个表示a[4*i+j][0]的地址,因为a[0]表示第一行的地址,递增的单位为一行

1年前 追问

1

fuhkhjvljhyi 举报

行地址比如a[o]前面就不用加&吗

举报 zgx7308

如果a是一个二维数组的话,a[0]就表示行地址不用加&

fuhkhjvljhyi 举报

&a[i][j] 表示数组a中第i行第j列的元素的地址 你的是错的 &a[i][j] 表示数组a中第i+1行第j+1列的元素的地址

举报 zgx7308

嗯,是了,数组从0开始计数,都加1就OK了

fuhkhjvljhyi 举报

a[0][1]=j这是什么意思

举报 zgx7308

就是普通的赋值啊,把 j 赋给a[0][1]

fuhkhjvljhyi 举报

1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 {1011为(a[2][3])的值} 公式 1001+2*4+3=1012不对怎么回事
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.038 s. - webmaster@yulucn.com