2 jiajia9492 jiajia9492 于 2016.02.23 14:51 提问

C语言数组越界的含义

听同学说C语言数组越界会导致出错,我试验了下不会,谁能写一个数组越界出错的例子?

4个回答

caozhy
caozhy   Ds   Rxr 2016.02.23 15:06
已采纳

这个不一定能观察到,因为C没有越界检查,你可以这么写:
int a[10];
int i=0;
while (true)
{
a[i++] = i;
}
肯定会报错

u010177010
u010177010   2016.02.23 15:33

越界不就是超过数组的大小,随便写个拷贝就行了

qq_33971941
qq_33971941   2016.02.23 22:03

例如你声明数组a[10],如果访问a[10]就发生越界错误,越界错误的本质是访问了未知内存空间,如果之前此区域内存被使用后,此时访问获得的数据是之前存的数据,至于报错在vc中是随机的。在linux系统下使用gcc编译器直接报段错误

u013505811
u013505811   2016.08.08 19:37

xcode里oc编写数组 如果下标越界了
有可能什么事都不发生

有可能程序直接崩溃
有可能莫名的改变了其他变量

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!