将数组从虚拟地址映射到物理地址

时间:2016-05-07 10:41:27

标签: arrays virtual-address-space

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

1 个答案:

答案 0 :(得分:1)

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

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