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

有人懂数据结构吗?请高人指点。... 有人懂数据结构吗?
请高人指点。
展开
 我来答
爱上榛子的核桃
推荐于2016-08-26 · 超过18用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
你可以把数组变量看成指针,数组下标看成地址的偏移量。
因为数组第一个元素的地址偏移量一定是0,所以数组下标就是从0开始了
562738607
2009-11-12 · TA获得超过1261个赞
知道小有建树答主
回答量:1015
采纳率:0%
帮助的人:903万
展开全部
也可以从1开始啊,可能与0是最小自然数有关吧…
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小云2740
2009-11-12
知道答主
回答量:9
采纳率:0%
帮助的人:1.4万
展开全部
为什么“1+1”答案是2,不是3?规定的呗,同样的道理,数组下标也规定从0开始。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yili16438
2009-11-12 · TA获得超过255个赞
知道小有建树答主
回答量:459
采纳率:100%
帮助的人:329万
展开全部
钻语法的牛角尖没啥意思、
语法是规定好的
就像球只能进别人的门,进自已的裁判就要吹了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
clitoriscn
2009-11-12 · TA获得超过3628个赞
知道小有建树答主
回答量:3258
采纳率:0%
帮助的人:1531万
展开全部
老大,这个问题也要问。非要懂得数据结构的人才能回答吗?
想想就很明白了。
以下假设数组下标是从1开始的:
如果你定义
int a[100];
那么你在使用的时候用到第100个元素a[100]的时候,请问编译器如何能分辨你这里的a[100]和你定义的a[100]有什么区别呢?
假设到此为止。
现在如果你下标是从0开始的,那么a[0] - a[99]是元素,怎么都不可能和定义的a[100]出现名字冲突,编译器就很容易识别了。

就这么简单的问题~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式