我相对编程比较新,所以当有人建议使用结构体数组(每个结构体都包含特定“项”的n个属性)比建立n个属性数组更快时,我发现我不知道足够关于数组的知识来支持或反驳这种说法。
我读了这篇文章: 如何在C/C++中内部工作数组 还有 基本数组教程 但我仍然不太明白C程序如何通过索引从数组中检索特定值。
显然,数组的数据元素存储在内存中相邻的位置,并且数组名称指向第一个元素。
C程序是否足够聪明,根据数据类型和索引进行算术运算,以找出目标数据的确切内存地址,还是程序必须以某种方式遍历到达目标数据之前的每个中间数据(如链接列表数据结构)?
更基本的是,如果程序通过其内存地址请求信息,机器如何找到它?
我读了这篇文章: 如何在C/C++中内部工作数组 还有 基本数组教程 但我仍然不太明白C程序如何通过索引从数组中检索特定值。
显然,数组的数据元素存储在内存中相邻的位置,并且数组名称指向第一个元素。
C程序是否足够聪明,根据数据类型和索引进行算术运算,以找出目标数据的确切内存地址,还是程序必须以某种方式遍历到达目标数据之前的每个中间数据(如链接列表数据结构)?
更基本的是,如果程序通过其内存地址请求信息,机器如何找到它?