当前位置:   article > 正文

为什么数组的下标是从0开始而不是从1开始?_数组下标都是从0开始的吗

数组下标都是从0开始的吗

一、数组下标从0开始的原因

在回答这个问题之前我们首先要明确一点那就是对于数组元素的访问在操作系统层其实就是对特定内存偏移量的数据的访问,换而言之即如果想要访问一个数组的某一个元素的值那么首先就要计算它的地址偏移量 ,其大概的公式为:

a[k]_adress = base_address + k*type_size ;
  • 1

,倘若数组下标是从1开始那么地址计算公式即会转变为:

a[k]_adress = base_address + (k-1)*type_size ;
  • 1

这对于CPU来说多了一次减法操作,对于那些对性能要求特别高的程序来说就是一个不小的性能影响因素。所以数组下标一般都是从0开始,另外的一个原因则是C语言数组下标便是从0开始的,后面的高级编程语言包括 java、C++、javascript等都在一定程度 上效仿了C语言。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/182475
推荐阅读
相关标签
  

闽ICP备14008679号