现在的位置: 首页 > web前端 > 正文

数组越界是什么意思

2020年07月17日 web前端 ⁄ 共 859字 ⁄ 字号 评论关闭

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


  数组越界是什么意思


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


  VB中的数组越界


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


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


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


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


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


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


  数组下标越界是一个程序初学者最容易犯的错误之一。


  以一个简单的一维数组为例:


  inta[10];这是一个整型的数组a,有10个元素:a[0]-a[9],因为正确的下标应该是从0开始,到9结束,与生活习惯中的1-10不一样,于是产生一个a[10]的错误,即数组下标越界。


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


  若编辑网页时提示“数组下标越界”,除检查下上述问题外,再检查下文件中变量名称是否一致,很多时候是变量名称不一致所致


  使用的角标大于等于数组的长度或为负数!


  总之,数组越界给大家简单的介绍了一些,希望大家多看看。


  

【上篇】
【下篇】

抱歉!评论已关闭.