数组越界是什么意思

如题所述

比如数组定义时有十个元素,那么a[0]  -- a[9] 分别对应相应的元素,在程序中如果使用了a[10]那么就超出了原来的数组定义的范围,这就是数组下标越界。

c和c++语言中数组下标越界,编译器是不会检查出错误的,但是实际上后果可能会很严重,比如程序崩溃等,所以在日常的编程中,程序员应当养成良好的编程习惯,避免这样的错误发生。

扩展资料

VB中的数组越界

12、引用了不存在的数组元素

下标可能比下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。

声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误:Dim MyArray() As Integer

MyArray(8) = 234 ' 导致错误 9。Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。相反必须使用 Dim 或 ReDim 来指定数组中元素的数目。

2、引用了不存在的集合成员。

试着使用 For Each...Next 结构代替指定元素下标。使用速写形式的下标,结果指定了错误的元素。



温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
比如你定义了一个长度为5的数组int[] a = new int[5];
那么你用a[0]到a[4]都不会越界,当你的数组下标大于5时,就会数组越界本回答被提问者采纳
第2个回答  2012-02-29
那a[-1]算不算越界
相似回答