今天老大问大家为什么数组的索引从0开始?

本文探讨了数组索引从0开始的原因,包括下标作为元素偏移量的概念、计算数组元素地址的效率考虑以及硬件特性的决定作用。通过类比计算机在内存和硬盘间的数据读写过程,解释了这一设计选择的合理性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前关于数组的索引为甚么从0开始?
有很多说法:
1:
下标的含意是:当前元素到第一个元素的偏移量。第一个元素的下标自然就是0,第二个元素的下标为1,第n个元素的下标为n-1。

2:
计算一个数组元素的地址需要将数组的起始地址加上该元素的索引。将起始索引设为1要么会浪费数组的第一个元素的空间,要么会花费额外的时间来将索引减1。

3:
数组的下标就是对array这个数组进行偏移。这是硬件特性决定的。

因为数据都是存放在内存地址里的,而数据的获取方式,是先得到一个数据的地址,然后对其进行偏移。
如果数组从1开始计算,那么获取数组的第一个元素表达方式就是array[1]

还有什么规定之类的…各种官方的说法和度娘都太笼统了!!!
终于BOSS今天闲聊时说到这个话题!!!
他说试想你写数字时,随便写:123/234/568/987/258/0123/02365/
写的很爽,写了满满1本书的数字!!!哈哈… 但是当你再从这些数据里找一个指定的数字时,会不会感觉蛋疼! 这就好比计算机从内存中往硬盘上write时很爽!但当从硬盘中外内存中read时,要经历磁盘寻道,读的性能会大大降低。
听完恍然大悟!!!
希各位好友评论 指证…(悲催的是今天湖人大败鹈鹕 …哎距快船还有4个胜场国王3个)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值