7、假定整型是32位,对一个2行3列的二维整数数组array ,假设数组第一个元素在内存中的地址为0x7ffee4065820,则第2行第2个元素的地址&array[1][1]为( )。

别灰心,再试一次!

💡 真题解析

答案:D

解析:在C++中,二维数组在内存中是连续存储的。对于一个2行3列的二维整数数组array[2][3],一共包含6个元素,每个元素都是一个32位(4字节)的整数。可以把这个二维整数数组看做是一个包含6个元素的一维数组,array[1][1]排在第5位。因此对于数组的起始位置,偏移4字节* 4 = 16字节,就可以得到array[1][1]的地址。

因为地址是16进制表示的,我们先将16字节转换成16进制为0x10,然后计算&array[1][1]:0x7ffee4065820 + 0x10 = 0x7ffee4065830。

因此,答案为D。