对于二维数组a[1..4,3..6],设每个元素占两个存储单元,若分别以行和列为主序存储,则元素a[3,4]相对于数组空间起始地址的偏移量分别是(1)和(2)。

admin2019-04-09  36

问题 对于二维数组a[1..4,3..6],设每个元素占两个存储单元,若分别以行和列为主序存储,则元素a[3,4]相对于数组空间起始地址的偏移量分别是(1)和(2)。

选项 A、12
B、14
C、16
D、18

答案A

解析 每一个二维数组都可以被看作是一个矩阵。本题的二维数组a[1..4,3..6]的矩阵如下:
  
   以行为主序存储,即以a[1,3]、a[1,4]、a[1,5]、a[1,6]、a[2,3]……这样的顺序连续存储,不难看出,a[3,4]是第10个元素。第1个元素的地址就是数组空间的起始地址,所以其偏移量为0,那么a[3,4]的偏移量难道为9?千万不要忘记题目的要求“每个元素占两个存储单元”,所以a[3,4]的偏移量是9*2=18。故第1空应该选择D。
   以列为主序存储,即以a[1,3]、a[2,3]、a[3,3]、a[4,3],a[1,4]……这样的顺序连续存储,所以a[3,4]是第7个元素。那么a[3,4]的偏移量就是6*2=12。故第2空应该选择A。
转载请注明原文地址:https://jikaoti.com/ti/MGL7FFFM
0

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