从数组中存储的数据模型来看,下标最精确的意思是”偏移量“,a[0]的偏移量是0,即为首地址。a[i]的偏移量是i,寻址公式就是a[i]_address = base_address + idata_type_size
如果下标从1开始,那对应的寻址公式a[i]_address = base_address + (i-1)data_type_size,对CPU来说,每次随机访问,就多了一次运算,多发一条指令。
数组下标为啥从0开始?而不是从1开始?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 如何实现随机访问? 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。...
- 提到数组,我想你肯定不陌生,甚至还会自信地说,它很简单啊。 是的,在每一种编程语言中,基本都会有数组这种数据类型。...
- 提到数组,我想你肯定不陌生,甚至还会自信地说,它很简单啊。 是的,在每一种编程语言中,基本都会有数组这种数据类型。...
- 数组相关代码请移步 Leooel 的博客 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一...