参考答案和解析
正确答案:D


(12)【答案】D)
【解析】无论规定行优先或列优先,只要知道以下三要素便可随时求出任一元素的地址:开始结点的存放地址(即基地址),维数和每维的上下界,每个数组元素占用的单元数。假设一般的二维数组A[c1,d1,c2,d2]则行优先存储时的地址公式为LOC(aij)=LOC(acl,c2)+[(i-c1)*(d2-c2+1)+j-c2)]*L;二维数组列优先存储的通式为LOC(aij)= LOC(acl,c2)+[(i-c2)*(d1-c1+1)+i-c1)]*L,根据列优先公式得:LOC(A5.5)=100+[(5-1)*12+(5-1)]*4=308.

 

更多“(12)设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地 ”相关问题
  • 第1题:

    设有二维数组A(12,10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100。则元素A(5,5)的存储地址为( )。

    A.176

    B.276

    C.208

    D.308


    正确答案:D

  • 第2题:

    设有二维数组A[1..12,1..10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100,那么元素A[5,5]的存储地址为

    A.176

    B.276

    C.208

    D.308


    正确答案:C

  • 第3题:

    设有二维数组A[1..8, 1..10],其每个元素占 4个字节,数组按列优先顺序存储,第一个元素的存储地址为 200,那么元素A[3,4]的存储地址为

    A)292

    B)304

    C)328

    D)396


    正确答案:B

  • 第4题:

    设有二维数组A[1,…,10][1,…,12],其每个元素占2个字节,数据按行优先顺序存储,第一个元素的存储地址为1000,则元素A [5][5]的存储地址为 【】


    正确答案:1088
    A[5][5]前面有4行元素,第5行有4个元素,所以前面元素个数为10*4+4=44,44*2=88,所以结果为1088.

  • 第5题:

    设有二维数组A(1…12,1…10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100。则元素A(5,5)的存储地址为( )。

    A.176

    B.276

    C.208

    D.308


    正确答案:D
    解析:A[8,5]元素存储的位置在第9行第6列(下标从0开始),所以在A[8,5]之前存储的元素个数应为8×10+5=85,这些元素占的空间为85×2=170个字节,所A[8,5]的存储位置为400+170=570。不过要注意本题数据是按列优先存储的。所以存储位置应为100+(4×12+4)×4=308。