C++中,int a[2];a[2]=3....这个程序不报错;int a[2];a[3]=3....这个程序报错,为什么呢,不应该啊

[复制链接]
查看11 | 回复4 | 2013-3-28 22:04:26 | 显示全部楼层 |阅读模式
在VS2010中测试int a[2];a[2] = 2;a[3] = 3;a[4] = 4;都没有报错,试着分析一下,但我也不保证是对的定义一个数组就是申请一块内存,也就是一指针当访问越界时,要看访问到的内存是否被别的用若有用则会引起错,未被用就得一未知的值...
回复

使用道具 举报

千问 | 2013-3-28 22:04:26 | 显示全部楼层
win7用VC6.0测试int a[2];a[2]=3;也报错...
回复

使用道具 举报

千问 | 2013-3-28 22:04:26 | 显示全部楼层
额 你定义的a[2]A中储存数据的只有a[0],a[1],至于那个a[2]我也没怎么懂,不知道存什么的,但a[3]超出a的空间了...
回复

使用道具 举报

千问 | 2013-3-28 22:04:26 | 显示全部楼层
当然错了,a[3]前面是分号,你没声明就赋值了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行