为什么程序语言中的数组都是从0开始计数的,比从1开始计数有什么好处?

5 个回答

约定俗成
用最小的自然数0代表起始。

其实在使用过程中,数组下标从0开始,还是从1开始,没有任何区别。
但是,在数组的存储过程中,数组名(可以看作指针)指向数组的首地址,而下标是数组元素所在位置相对数组首地址的偏移量,因为数组第一个元素的地址就是元素的首地址,偏移量一定是0,所以数组下标就从0开始啦~

就是偏移量的意思,0表示前面没有元素了,在有的语言中还有-1,这样数组的下标就是...,-2,-1,0,1,2,...都是连续的

计算机是二进制的

一位的二进制只有两个数0,1

两位的二进制数有 00,01,10,11,分别表示0,1,2,3共四个数

三位的二进制数则是000,001,010,011,100,101,110,111,分别代表0-7共八个数

更多的位数以此类推,可以表示更大的范围……

所以,在计算机中,任何序列编号都是从零开始的

计算机的底层是使用二进制的。
0就是00000000
1就是00000001
2就是00000010
以此类推。
所以就取最小的00000000即0做下标了。

你的回答