黑马程序员技术交流社区

标题: 为什么数组下标从0开始而不是从1开始? [打印本页]

作者: 未来就在那    时间: 2014-11-5 11:32
标题: 为什么数组下标从0开始而不是从1开始?
为什么数组下标从0开始而不是从1开始?每次做数组问题就感到痛苦,求大神指导!
作者: 杨佳名    时间: 2014-11-5 11:51
规定.
作者: sk0806    时间: 2014-11-5 11:52
这,,就是规定吧,就像外国每周的第一天是周日一样
作者: 马个了黑_邓    时间: 2014-11-5 11:59
这是个深奥的问题,恩,就这样
作者: 冥夜    时间: 2014-11-5 12:18
因为这样对计算机底层来说运算更快,因为计算机底层是从00 01 10 11这样的,所以从0开始更好。如果从1开始表计算机还要每次进行+1。
作者: hanxing    时间: 2014-11-5 12:27
你不觉得遍历数组时 for(int i=0;i<array.length<i++)比for(int i=1;i<array.length+1;i++)方便一点吗,对老外就是那么懒
作者: 未来就在那    时间: 2014-11-5 13:00
每次查询第几个元素时总是告诉自己别出错!感觉特别扭!!
作者: 空洞的望着窗外    时间: 2014-11-5 13:19
就是最开始的C就这样弄了,可能设定的人认为这样特别,后来的C++,java的大神认为大家都习惯了,也就从0开始了。我认为是可能大神认为任何事物都是0开始。
作者: wf111sxwf    时间: 2014-11-5 15:49
就俩字,规定
作者: treanow    时间: 2014-11-5 22:40
这种问题,,记住就行了,没必要钻牛角尖。。。浪费时间
作者: huoxy    时间: 2014-11-6 09:58
因为外国人不想浪费0这个数:比如4位2进制数能表示0-15共16个数,如果角标只能用一个4位2进制数表示的话,这个数组最多可以装16个数据;反之,如果角标从1开始,则只能装15个数据了。
作者: 小鸡捉你    时间: 2014-11-6 10:29
你是学什么语言出身的啊,过去有一种语言是从1开始的,但是C/Java都是从0开始的,各有各的好处,从0开始对计算机有好处
作者: dong53821713    时间: 2014-11-6 12:10
如果你是java的创始人你可以让他从1开始:lol
作者: noiary    时间: 2014-11-6 12:17
时间久了你会觉得如果从1开始会特别别扭,如果计算机有思想,这就是它的思想吧.
作者: cs8630323    时间: 2014-11-7 02:32
真正原因是0是计算机系统最小的数,从1开始就浪费了一位
作者: zhangyangLengen    时间: 2014-11-7 07:16
规定啊,可能设计底层系统的人,有它想法
作者: touch_world    时间: 2014-11-7 08:00
美欧都管1楼叫the ground floor.
2楼叫First floor
其实这样蛮方便的
3楼 second floor意味你有两层楼梯要爬
我们这样就是习惯了

作者: 桃华月禅    时间: 2014-11-7 10:00
感觉楼上说二级制是从0开始的那位说的比较靠谱...
作者: song395866365    时间: 2014-11-7 11:19
:L钻牛角尖了哦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2