关于计算数组的存储地址的问题
设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100,那么元素A[5,5]的存储地址为?...
设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100,那么元素A[5,5]的存储地址为?
展开
2个回答
展开全部
这个二维数组,有12行10列。但是数据是按列优先顺序存储,
所以,其存储结构形式类似于:
a[1,1] a[2,1] a[3,1] ........ a[12,1]
a[1,2] a[2,2]..................a[12,2]
.....................................
a[1,10]........................a[12,10]
所以 A[5,5]的存储地址为 ((5-1)*12+5-1)*4+100
所以,其存储结构形式类似于:
a[1,1] a[2,1] a[3,1] ........ a[12,1]
a[1,2] a[2,2]..................a[12,2]
.....................................
a[1,10]........................a[12,10]
所以 A[5,5]的存储地址为 ((5-1)*12+5-1)*4+100
追问
你确定吗?我做了一道题,也是和你一样的求法,得出308,但是答案是208.是答案错了还是我们错了呢?
追答
确定是这样做的,你可以自己验算一下这个公式。
将行和列数 都改成 3行3列,来验证这个公式。
我验证是正确的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询