多维数组在内存中是如何表示的
由于内存被认为是一维的,那么任何人都可以告诉(并解释)“多维数组在内存中是如何表示的”。
提前致谢。
As memory is considered to be single dimensional, then can anyone kindly tell (and explain) that "How multi-dimesional arrays are represented in Memory".
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这取决于语言实现,但它们通常被表示为一行接一行的连续内存块。
我在我的博客上写了相关内容:
有关如何在 C++ 中实现数组的更多详细信息,请查看:
C++ 注释:二维数组内存布局
我遇到的大多数编程语言都使用类似的方法来存储多维数组。
It depends on the language implementation but more often than not they are represented as a consecutive memory block row after row.
I wrote about it on my blog:
For more details on hoiw arrays are implemented in C++ take a look at:
C++ Notes: 2-D Array Memory Layout
Most of the programming languages I encoutered use a similar method to storing multidimensional arrays.
任何多维数组都通过数组寻址函数进行线性化,并将多维数组转换为一维数组。该一维数组存储在内存中。
Any multidimensional arrays are linearized by array addressing function and transforms the multidimensional arrays into a single dimensional array. This single dimensional arrays are stored on memory.