二维数组地址问题,求详解

二维数组A[10..20][5..20]采用行序为主方式存储,每个元素占4个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的地址是... 二维数组A[10..20][5..20]采用行序为主方式存储,每个元素占4个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的地址是 展开
 我来答
White_MouseYBZ
推荐于2018-12-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6501万
展开全部
二给数组在内在中是连续存储的,若有int A[20][20],则存储如下示意:
第1行:
a[0][0],a[0][1],a[0][2],a[0][3],a[0][4],a[0][5],a[0][6],a[0][7],a[0][8],a[0][9],a[0][10],a[0][11],a[0][12],a[0][13],a[0][14],a[0][15],a[0][16],a[0][17],a[0][18],a[0][19],
第2行:
A[1][0],A[1][1],...A[1][19],
......
第11行:
A[10][0],A[10][1],A[10][2],A[10][3],A[10][4],A[10][5],...A[10][19],
......
第19行:
A[18][0],A[18][1],A[18][2],A[18][3],A[18][4],A[18][5],A[18][6],A[18][7],A[18][8],A[18][9],...A[18][19]
......
计算一下从A[10][5]~A[18][9]经过了几个元素,用元素数乘以4,结果+1000,就是A[18][9]所在地址。所以1000+((18-10)x20-5+9)x4=1656.。
其中:(18-10)经过的行数,5开始列数,9是结束列数。
百度网友bbc3655
2014-02-14
知道答主
回答量:24
采纳率:0%
帮助的人:15.4万
展开全部
首先,要知道这个二维数组每组的维度。行维:11,列维:16

计算:
A[10][5]的地址是1000
A[18][9]的地址是:((18-10)*16 + (9-5))*4 + 1000 = 1528
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式