首页 > 编程语言 > 详细

为什么很多编程语言中,数组要从0开始编号?

时间:2019-04-08 10:07:10      阅读:82      评论:0      收藏:0      [点我收藏+]
从数组存储的内存模型上看,下标最确切的定义是偏移量。
 
从0开始编号,在计算a[i]的内存地址时,公式为
a[i]_address = base_address + i * data_type_size,
 
如果数组从1开始编号,公式为
a[i]_address = base_address + (i -1) * data_type_size。
 
对CPU而言,就多了一次减法指令。
最主要的原因应该是历史问题,C语言的设计者使用了0开始编号,后续的很多语言也就沿用了这个规矩。



为什么很多编程语言中,数组要从0开始编号?

原文:https://www.cnblogs.com/helloearthlings/p/10668773.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!