若有数组声明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,

admin2013-05-11  23

问题 若有数组声明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[3,1,3]在其存储空间中相对base_a的偏移量是(60)。

选项 A、23
B、24
C、42
D、43

答案C

解析 对于数组声明a[0..3,0..2,1..4],元素布局如下。
   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[0,1,3]    a[0,1,4]
   a[0,2,1]    a[0,2,2]    a[0,2,3]    a[0,2,4]
   a[1,0,1]    a[1,0,2]    a[1,0,3]    a[1,0,4]
   a[1,1,1]    a[1,1,2]    a[1,1,3]    a[1,1,4]
   a[1,2,1]    a[1,2,2]    a[1,2,3]    a[1,2,4]
   a[2,0,1]    a[2,0,2]    a[2,0,3]    a[2,0,4]
   a[2,1,1]    a[2,1,2]    a[2,1,3]    a[2,1,4]
   a[2,2,1]    a[2,2,2]    a[2,2,3]    a[2,2,4]
   a[3,0,1]    a[3,0,2]    a[3,0,3]    a[3,0,4]
   a[3,1,1]    a[3,1,2]    a[3,1,3]    a[3,1,4]
   a[3,2,1]    a[3,2,2]    a[3,2,3]    a[3,2,4]
   当元素以行为序存放时,排列在a[3,1,3]之前的元素个数为42个,因此该元素在其存储空间中相对base_a的偏移量是42。
转载请注明原文地址:https://kaotiyun.com/show/qhRZ777K
0

相关试题推荐
最新回复(0)