查看: 1332|回复: 3
收起左侧

[已解决] 初学C语言数组时的疑问

 关闭 [复制链接]
_Zing
发表于 2015-5-3 13:25:40 | 显示全部楼层 |阅读模式
本帖最后由 _Zing 于 2015-5-3 16:13 编辑

int number[5]
这个意思到底是现在定义了:
number1;
number2;
~到
number5;
这么5个变量,
还是从Number0开始到number5 六个变量?【如果是这样的话,为什么不能从-1开始数,不能从-2开始数???】


还是说现在允许存在了五个变量,
至于number i,这个i是多少,是100还是10还是-10还是-2都是没关系的,只要变量的总数没有超过5就可以了?
===
另外,为什么会出现这种情况:


谢谢解答!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
Kukon
发表于 2015-5-3 13:46:41 | 显示全部楼层
int number 中,i指数组元素的个数,也就是说有i个元素。
这i个元素分别是number 0,number 1,……,number i-1 (数组下标从0开始)

另外,你的输入语句中嵌套了输出
关于负数的问题,百度到的。
数组元素和指针有恒等关系:a == *(a+i)所以,i 为 负 的时候,a == *(a-  fabs(i))。只要 a-fabs(i) 这个地址里 有 数值,就可以拿来 运算使用。

我也是初学,不会指针,后面不懂。
thelord
发表于 2015-5-3 16:09:53 | 显示全部楼层
为什么数组是从0开始的

当索引为负数时,实际上发生了数组越界,取出的都是非法值
_Zing
 楼主| 发表于 2015-5-3 16:13:27 | 显示全部楼层
天岛男孩 发表于 2015-5-3 13:46
int number 中,i指数组元素的个数,也就是说有i个元素。
这i个元素分别是number 0,number 1,……,numb ...

谢谢您的回答!
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-13 05:57 , Processed in 0.116299 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表