由于内存被认为是单维的,那么任何人都可以告诉(并解释)“如何在内存中表示多维数组”。
提前谢谢。
答案 0 :(得分:1)
它取决于语言实现,但通常它们被表示为一行一行的连续内存块。 我在my blog上写了这篇文章:
分配的数组作为一个继续的块存储在堆内存中 记忆。二维阵列(与上面的例子中相同)是 类似地存储 - 存储数组的每一行(索引x,0 - x,n) 一起到达x,y小区我们必须去j +(i * 宽度)。
有关使用C ++实现的hoiw数组的更多详细信息,请参阅: C++ Notes: 2-D Array Memory Layout
我所使用的大多数编程语言都使用类似的方法来存储多维数组。
答案 1 :(得分:0)
任何多维数组都通过数组寻址函数进行线性化,并将多维数组转换为单维数组。这个单维数组存储在内存中。