阵列从虚拟地址到物理地址的映射



当静态声明一个2D数组时,我们会得到一个巨大的连续虚拟地址块。这些地址不需要映射到物理地址中的连续内存地址。1D阵列也会发生同样的情况吗?1D阵列中各个元素的地址在物理地址空间中是否连续,或者它们是否可以映射到不同物理页上的地址?

在C编程中,虚拟地址空间与数组无关(我假设您使用C)。

当您有一个二维数组时,最后一个维度只是虚拟的。在幕后,编译器有一个长的1D数组,当你想到达一个特定的节点时,它会在添加第二个索引之前,对第一个索引和列的游程长度进行快速相乘。

最新更新