gpt4 book ai didi

arrays - 数组通常在较低级别上如何工作?

转载 作者:行者123 更新时间:2023-12-04 17:26:26 25 4
gpt4 key购买 nike

他们如何将索引直接映射到值,而不必遍历索引?
如果很复杂,我可以在哪里阅读更多内容?

最佳答案

本质上,计算机内存可以描述为一系列寻址的插槽。要制作一个数组,您需要留出一个连续的块。因此,如果阵列中需要五十个插槽,则可以从内存中预留50个插槽。在此示例中,假设您为名为A的阵列预留了从1019到1068的插槽。A中的插槽0是内存中的插槽1019。 A中的插槽1是内存中的插槽1020。 A中的插槽2是内存中的插槽1021,依此类推。因此,一般而言,要获得阵列中的第n个插槽,我们只需执行1019 + n。因此,我们要做的就是记住起始插槽是什么,并适本地添加它。

如果我们要确保不写超出数组末尾的内存,我们可能还想存储A的长度并对照它检查n。在这种情况下,并非所有我们希望跟踪的值都具有相同的大小,因此我们可能有一个数组,其中数组中的每个项目都占用一个以上的插槽。在这种情况下,如果s是每个项目的大小,那么我们需要将s乘以数组中项目的数量,当我们获取第n个项目时,我们需要将s时间n添加到开始处,而不仅仅是n 。但是实际上,这很容易处理。唯一的限制是数组中的每个项目都必须具有相同的大小。

关于arrays - 数组通常在较低级别上如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com