为什么在C语言定义数组时下标必须从零开始呢?

请高手不吝赐教。... 请高手不吝赐教。 展开
 我来答
L_o_o_n_i_e
推荐于2016-11-06 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5226万
展开全部
为了标新立异.

在C出现以前的流行语言,例如Fortran 从1开始,ALGOL可以自由定义下标从几开始.

C语言定义从零开始.

从零开始对使用者来说没有自由定义好,但编译器设计简单.省事.
mdffeng
2008-12-25 · TA获得超过134个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:53.2万
展开全部
这需要从数组的存储方式上解释了。

定义一个数组时,系统会分配一块连续的内存,由数组名指向该块内存的首地址。
引用某个元素时,首先需要计算该元素的地址(及 数组名 + 下标),然后根据该地址取到相应存储单元的内容。
所以,如果希望取数组的第一个元素,下标必须是0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9200c61
2008-12-26 · TA获得超过150个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:143万
展开全部
yxlovemoney mdffeng L_o_o_n_i_e
回答的都很有道理。
在C语言定义数组时下标必须从几开始,并不要紧,因为这是系统定义的。
无论从几开始,我们都要会用,都要用好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hyjing001
2008-12-26
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
C规定的,没什么原因,其他语言定义是从1开始的,只是有点方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
azhi61ming
2008-12-25 · TA获得超过250个赞
知道小有建树答主
回答量:290
采纳率:0%
帮助的人:197万
展开全部
为了方便,不用0的话,反而更复杂。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式