| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4528 人关注过本帖
标题:数组中下标为-1表示什么
只看楼主 加入收藏
zhongfanggui
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-9-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
数组中下标为-1表示什么
求高手指教
2012-09-15 22:16
williton
Rank: 1
等 级:新手上路
帖 子:2
专家分:8
注 册:2012-9-6
收藏
得分:3 
不会有这个··运行错误···
2012-09-15 22:31
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
收藏
得分:3 
大神,表示出错了。。。。
2012-09-15 23:06
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
收藏
得分:3 
数组下标为-1的地址对于数组来说是越界访问了,但是这个地址是有意义的

这个地址就是所申请的数组存储空间的首地址的向前偏移一个单位(也就是偏移一个当前数组类型所对应的字节数)所对应的地址。

这个地址由于没有跟着数组空间一起初始化,
所以其中的数据是不一定的,
如果是正在被系统或者其他APP使用中的地址空间,那么可以被访问,其中的数据的意义取决于被系统或者其他APP所写入的数据,但是访问后,有可能会引起系统或者其他APP异常。
如果是没有被使用的地址,那么就是一个野地址,那么其中的数据是随机的,无意义的
以上是从网上找的答案

喜欢睡觉 却经常熬夜
2012-09-15 23:56
ldzy
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:64
专家分:339
注 册:2012-7-30
收藏
得分:3 
四楼正解。
可以自己动手测试一下。可以把数组定义在两个变量之间,即int value1=12;int arr[4];int value2=56;这样的顺序。从-1开始为数组元素赋值,比较赋值前后value1 ,value2值是否分别相同,赋值后value1 ,value2的值与arr[-1],arr[4]的关系。大概就能看出点什么来了。
2012-09-16 09:37
zhongfanggui
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-9-9
收藏
得分:0 
多谢!!

拒绝不可以
2012-09-16 15:29
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:3 
  还是度娘给力啊
2012-09-16 16:49
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:3 
四楼都能找到这么全的资料,为什么有人总想拿现成的?
2012-09-16 16:52
freecast
Rank: 2
等 级:论坛游民
帖 子:12
专家分:10
注 册:2012-7-29
收藏
得分:3 
数组下标为-1,表示你访问越界了
2012-09-17 10:24
快速回复:数组中下标为-1表示什么
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022413 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved