C |数组|问题7

考虑下面的C语言中的二维数组声明:

null

char a[100][100];


假设主存是字节可寻址的,并且数组从内存地址0开始存储,则[40][50]的地址为(GATE CS 2002)

(A) 4040 (B) 4050 (C) 5040 (D) 5050 答复: (B) 说明:

Address of a[40][50] = Base address + 40*100*element_size + 50*element_size
                      = 0 + 4000*1 + 50*1
                     = 4050
Based on row major or column major
if row major then the result will be 4050
if column major then 
            Address of a[40][50] = Base address + 50*100*element_size + 40*element_size
                      = 0 + 5000*1 + 40*1
                     = 5040

这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享