设有二维数组A[0…9][0…19],其每个元素占两个字节,数组按列优先顺序存储,第一个元素的存储地址为100,那么元素A[6,6]的存储地址为【 】。

admin2010-05-13  35

问题 设有二维数组A[0…9][0…19],其每个元素占两个字节,数组按列优先顺序存储,第一个元素的存储地址为100,那么元素A[6,6]的存储地址为【  】。

选项

答案232

解析  因为该数组按列优先顺序存储,即存储顺序是:
   A[0,0],A[1,0],A[2,0]…A[9,0]
   A[0,1],A[1,1],A[1,1]…A[9,1]
   …
   A[0,9],A[1,9],A[2,9]…A[9,19]
   已知A[0,0](第1行的第1个元素)的地址为 100,则A[0,1](第2行的第1个元素)的地址是120,以此类推A[0,6](第7行的第1个元素)的地址为 220,所以A[6,6]的存储地址是232。
   还可以告诉你一个计算公式:
   对于按行优先顺序存储的二维数组A[m][n],若其首地址是S,每个元素占k个字节,则数组元素A [j]的地址p是p=S+(ixn+j) xk。
   按列优先顺序存储时,则有:
   p=S+(jxm+i) xk
   (这里说的数组下标都是从0开始的)
   套用第2个公式:
    p=100+(6x10+6) x2=232
转载请注明原文地址:https://kaotiyun.com/show/wrSZ777K
0

相关试题推荐
最新回复(0)