问题
单项选择题
若有数组声明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的偏移量是()。
A.8
B.12
C.33
D.48
答案
参考答案:C
解析:
[分析] 本题考查多维数组的结构。
由题可知,数组a的大小为4行、3列、4纵,而a[2,2,2]处于数组的第3行、第3列、第2纵,知道这些再求偏移量就不难了。先求前两维的偏移位置为:2×3×4=24,再求a[2,2,2]在第三维的偏移位置:2×4+2=10。但偏移量是本位置之前,所以24 +10-1= 33。