问题
单项选择题
对于二维数组a[1..4,3..6],设每个元素占两个存储单元,若分别以行和列为主序存储,则元素a[3,4]相对于数组空间起始地址的偏移量分别是 (1) 和 (2) 。
(2)()
A.12
B.14
C.16
D.18
答案
参考答案:A
解析:
以行为主序存储,即以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。