【发布时间】:2016-05-07 10:41:27
【问题描述】:
当静态声明一个二维数组时,我们会得到一大块连续的虚拟地址。这些地址不需要映射到物理地址中的连续内存地址。一维数组也会发生同样的情况吗?一维数组中各个元素的地址在物理地址空间中是连续的还是可以映射到不同物理页上的地址?
【问题讨论】:
标签: arrays virtual-address-space
当静态声明一个二维数组时,我们会得到一大块连续的虚拟地址。这些地址不需要映射到物理地址中的连续内存地址。一维数组也会发生同样的情况吗?一维数组中各个元素的地址在物理地址空间中是连续的还是可以映射到不同物理页上的地址?
【问题讨论】:
标签: arrays virtual-address-space
虚拟地址空间与 C 编程中的数组无关(我假设您使用 C)。
当你有一个二维数组时,最后一个维度只是虚拟的。在幕后,编译器有一个长的一维数组,当你想到达一个特定的节点时,它会在添加第二个索引之前快速将第一个索引和列的运行长度相乘。
【讨论】: