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。