02331数据结构

三维数组a[4][5][6](下标从0开始计,a有4×5×6个元素),每个元素的长度是2,则a[2][3][4]的地址是()。(设a[0][0][0]的地址是1000,数据以行为主序方式存储)

题目

三维数组a[4][5][6](下标从0开始计,a有4×5×6个元素),每个元素的长度是2,则a[2][3][4]的地址是()。(设a[0][0][0]的地址是1000,数据以行为主序方式存储)

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

二维数组M[i,]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5。M按行存储时元素M[3,5]的起始地址与M按列存储时元素(43)的起始地址相同。

A.M[2,4]

B.M[3,4]

C.M[3,5]

D.M[4,4]


正确答案:B
解析:当按行存储的时候,M[3,5]的起始地址为(3*6+6)*4=96。当按列存储的时候,M[3,4]的起始地址为(4*5+4)*4=96。所以应该选择B。

第2题:

假设以行序为主序存储二维数组array[100][100],设每个数据元素占2个存储单元,基地址为10,下标从0开始,则元素array[5][5]的地址为()。

A.808

B.818

C.1010

D.1020


正确答案:C

第3题:

假设以行优先顺序存储三维数组A[5][6][7],其中元素A[0][0][0]的地址为1100,并且每个元素占2个存储单元,则A[4][3][2]的地址是1264。()

此题为判断题(对,错)。


正确答案:错误

第4题:

● 对于数组 float array[5][4],若数组元素 array[0][0]的地址为 2400,每个数组元素长度为 32 位(4 字节),且假定其采用行序为主的存储模式,那么 array[3][2]的内存地址为 (46) 。

(46)

A. 2448

B. 2452

C. 2456

D. 2460


正确答案:C

第5题:

若有数组声明 a[0..3,0..2,1..4],设编译时为 a 分配的存储空间首地址为base_a,且每个数组元素占据一个存储单元。当元素以行为序存放(即按 a[0,0,1],a[0,0,2],a[0,0,3],a[0,0,4],a[0,1,1],a[0,1,2],…,a[3,2,4]顺序存储),则数组元素a[2,2,2]在其存储空间中相对base_a的偏移量是 (55) 。

A.8

B.12

C.33

D.48


正确答案:C
本题数组元素存储基础知识。对于数组声明a(0..3,0..2.1..4},元素布局如下:当元素以行为序存放时,排列在a[2,2,2]之前的元素个数为33个,因此该元素在其存储空间中相对base_a的偏移量是33。

第6题:

二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i范围从0~4,列下标j的范围从0~5。M按行存储时元素H[3,5]的起始地址与M按列存储时元素______的起始地址相同。

A.M[2,4]

B.M[3,4]

C.M[3,5]

D.M[4,4]


正确答案:B
解析:按行存储时M[3,5]的存储位置为:683+5=23,若按列存储,则与其地址相同的元素为M[3,4]:4*5+3=23。

第7题:

对于二维数组a[0.. 4,1.. 5],设每个元素占1个存储单元,且以列为主序存储,则元素a[2,2]相对于数组空间起始地址的偏移量是______。

A.5

B.7

C.10

D.15


正确答案:B
解析:此类题型以前考过多次,为了让大家能更好地理解题目的意思以及解题的思想,图3-81给出了二维数组a[0..4,1..5]的结构。因为以列为主序存储,所以a[0,1]存储在1号存储单元,a[1,1]存储在2号存储单元……以此类推,a[2,2]存储在8号存储单元,所以相对于数组空间起始地址的偏移量为8-1,即7。偏移量就是差值。所以答案为:B。此外,若数组以行为主序存储,则数组的结构如图3-82所示。

第8题:

设C++二维数组a[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放数组元素,a[3][5]的存储地址为1000,则a[0][0]的存储地址是()。

A.872

B.860

C.868

D.864


参考答案:B

第9题:

二维数组A[0…8,0…9]中的每个元素占2个字节,从首地址300开始,按行优先顺序存放,则元素A[4,5]的存储地址为( )。

A.390

B.326

C.230

D.310


正确答案:A

第10题:

设二维数组A[6][0],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素,a[0][0]的存储地址为860,则a[3][5]的存储地址为()。

A.1000
B.860
C.1140
D.1200

答案:A
解析:
每个数组元素占用4个存储单元,按行优先顺序存放的数组元素,则a[3][5]的存储地址为860+(3×10+5)×4=1000。

更多相关问题