考虑以下C语言中的’二维数组声明:
char a[100][100];
假设主存储器是字节可寻址的,并且数组是从存储器地址0开始存储的,则a [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
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。