数组下标为什么是从0开始?

来源:互联网 发布:个人域名 gmail 编辑:程序博客网 时间:2024/03/29 22:05

大家是否会觉得数组下标从0开始很烦,下标0开始就代表第一个,下标1就是第二个,是不是觉得特别别扭?那为什么会从0开始计呢?

int[] a=new int[]{1,2,3,4,5};


这里有5个值,首先我们假设数组在内存中开辟的5个地址号为1000,1001,1002,1003,1004,假设是为了方便计算。

此刻我们访问a[0],也就是访问到地址号1000,


想想看,1000就是数组的第一个地址,也就是代表着数组的第一个值1,1000+0等于1000,如果按照逻辑下标也从1开始不就是1000+1=1001访问到第二个地址2咯?


这个就是数组从0开始的原因,因为a引用的就是数组中的第一个地址号了,从0开始是访问的1个地址。