在C程序中有一个二维数组 A[7][8],每个数组元素用相邻的 8个字节存储,那么存储该数组需要的字节数为( )。
A.56 B.120 C.448 D.512
第1题:
假定一个二维数组的定义为“int a[3][5];”,则该数组所含元素的个数为【 】,所占字节存储空间的字节数为【 】。
第2题:
设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址100,那么元素A[5,5]的存储地址为( )。
A)176
B)276
C)208
D)308
第3题:
A、80
B、100
C、240
D、270
第4题:
设有二维数组A[1..8, 1..10],其每个元素占4个字节,数组按列优先顺序存储,第一个元素的存储地址为200,那么元素A[3, 4]的存储地址为( )。
A) 292
B) 304
C) 328
D) 396
A.
B.
C.
D.
第5题:
A.64
B.90
C.28
D.70
第6题:
设有二维数组A[1,…,10][1,…: 12],其每个元素占2个字节,数据按行优先顺序存储,第一个元素的存储地址为1000,则元素A[5][5]的存储地址为________。
第7题:
设有二维数组A[0…9][0…19],其每个元素占两个字节,数组按列优先顺序存储,第一个元素的存储地址为100,那么元素A[6,6]的存储地址为__________。
第8题:
(12)设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址100,那么元素A[5,5]的存储地址为( )。
A)176
B)276
C)208
D)308
(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.
第9题:
二维数组A[0,…,8][0,…,9],其每个元素占2字节。从首地址400开始,按行优先顺序存储,则元素A[8][5]的存储地址为( )。
A.570
B.506
C.410
D.482
第10题:
设有二维数组A[0…9,0…19],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[6,6]的存储地址为【 】。