请考虑以下二维数组:
int array[2][2] = {
{1,2},
{3,4}
};
根据我的理解: - 'array' 表示二维数组的基地址(与数组的第一个元素的地址相同,即数组 [0] [0])。
二维数组在内存中的实际排列就像一个大的一维数组。
现在,我知道基地址 = 数组。因此,我应该能够到达包含元素的内存块:array[0][0]。
如果我忘记了二维数组的事情并尝试将此数组视为简单的一维数组: array[0] = *(array+0) 给出第一个数组的基地址而不是元素 array[0 ][0]。为什么?
二维数组不存储任何内存地址(如指针数组)。
如果我知道基地址,我必须能够以线性一维数组的形式访问该内存。
请帮我澄清这个疑问。
谢谢。