设数组a[1..n,1..m] (n>1,m>1)中的元素以列为主序存放,每个元

admin2022-08-02  10

问题 设数组a[1..n,1..m] (n>1,m>1)中的元素以列为主序存放,每个元素占用2个存储单元,则数组元素a[i,j](1≤i≤n,i≤j≤m)相对于数组空间首地址的偏移量为( )。A.((i-1)*m+j-1)*2B.((i-1)*n+j-1)*2C.((j-1)*m+i-1)*2D.((j-1)*n+i-1)*2

选项 A.((i-1)*m+j-1)*2
B.((i-1)*n+j-1)*2
C.((j-1)*m+i-1)*2
D.((j-1)*n+i-1)*2

答案 D

解析 数组 a[1..n,1..m] (n>1, m>1)如图所示:数组元素的存储地址=数组空间首地址+偏移量。其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按列存储(以列为主序存放)方式下,先排列元素,第j列之前已经有(j-1)*n个元素已排满,第i行前有(i-1)个元素,所以该元素之前的元素个数为(j-1)*n+i-1,每个元素占用2个存储单元,所以相对于数组空间首地址的偏移量为((j-1)*n+i-1)*2。
转载请注明原文地址:https://tihaiku.com/congyezige/2416262.html

最新回复(0)