题目
假设以行序为主序存储二维数组M=array[0.9,0.9],设每个数据元素占1个存储单元[1],基地址为2,则M[3,4]的地址为( )A.36 B. 81 C. 34 D. 78E. 20
假设以行序为主序存储二维数组M=array[0.9,0.9],设每个数据元素占1个存储单元[1],基地址为2,则M[3,4]的地址为( )
A.36
B. 81
C. 34
D. 78
E. 20
题目解答
答案
首先,我们知道基地址为2,每个数据元素占用1个存储单元。对于行主序存储,行变化得比列快,所以首先要计算行的偏移量,然后再计算列的偏移量。
对于M[3,4],行的偏移量是3 - 0 = 3,列的偏移量是4 - 0 = 4。然后,将行的偏移量和列的偏移量相加,再加上基地址2,即:
地址 = 3 * 4 + 4 + 2 = 12 + 4 + 2 = 18 + 2 = 20
所以,M[3,4]的地址为20。
正确答案是没有列出的选项,答案应为:E. 20。