Bri*_*ian 22
为了扩展@ Kevin的答案,我从Programmers.SE的答案中引用这句话:
数组中的索引实际上不是索引.它只是一个偏移量,即距离数组开始的距离.第一个元素位于数组的开头,因此没有距离.因此偏移量为0.
此外,如果您想了解有关不同语言如何进行数组索引的更多信息,请查看维基百科上的详尽列表.
Kev*_*vin 18
Java使用从零开始的索引,因为c使用从零开始的索引.C使用从零开始的索引,因为数组索引只不过是一个内存偏移量,因此数组的第一个元素位于它已经指向的内存中*(array+0).
Dijkstra的一句话,来自为什么编号应该从零开始(1982):
当处理长度为N的序列时,我们希望通过下标区分其中的元素,下一个令人烦恼的问题是要分配给其起始元素的下标值.用下标1开始时附着于约定)的产率,中,下标范围1≤ 我 < Ñ 1; 从0开始,然而,给出了更好的范围0≤ 我 < Ñ.因此,让我们让我们的序数从零开始:元素的序数(下标)等于序列中它前面的元素数.这个故事的寓意是,在所有这几个世纪之后,我们更好地考虑了 - 零作为最自然的数字.
关于这篇文章的讨论可以在Lambda the Ultimate中找到- 为什么编号应该从0开始.
| 归档时间: |
|
| 查看次数: |
27098 次 |
| 最近记录: |