首页 > 编程语言 > 详细

三 二维数组取址

时间:2020-02-04 12:28:29      阅读:69      评论:0      收藏:0      [点我收藏+]

int a[2][3]={1,2,3,4,5,6}
问:
(1)a[1][1]=?
(2)*(a[1]+1)=?
(3)**(a+1)=?
(4)(*(a+1)[1])=?


答:计算机是“行优先”,a[2][3]就是
0 1 2
a[0] 1 2 3
a[1] 4 5 6
(1)∴ a[1][1]=5

(2)可以将数组a看做由2个一维数组构成
m[3]={1,2,3} 
n[3]={4,5,6}。
a[1][0] 等价于 n[0]。
∴a[1] 等价于 n
*(a[1]+1)=*(n+1)=5

(3) 注意a+1与&a+1的区别:
a+1是“行跳变”,&a+1是“数组跳变”。
1 2 3 4 5 6 未知
a,&a a+1 &a+1
*(a+1) 等价于a[1]
∴**(a+1)=a[1][0]=4

(4)(*(a+1))[1]=a[1][1]=5。

三 二维数组取址

原文:https://www.cnblogs.com/wuqi1003/p/12258690.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!