多语言展示
当前在线:1878今日阅读:86今日分享:14

数组越界问题在C++中的分析

数组元素的下标一定要按照规定的要求输入,如果输入有误就会出现数组越界问题,C++中数组越界问题会出现什么情况呢?小编与大家分析一下此问题。
工具/原料

C++

方法/步骤
1

(一)使用数组时规定,数组元素的下标值应为正整数。

2

现在,我们将数组元素的下标改成负数,看一下会出现什么情况。

3

首先,编译程序后,可以发现没有提示错误。

4

运行程序后,发现运算结果是错误的,也就是说当数组元素的下标写成负数时,编译不会提示错误,但运算结果会出错。

6

现在,我们让数组元素的下标超出定义的元素范围。

7

编译程序,可以发现没有出现错误。

8

但运行程序,有时会出现错误。也就是说当数组元素下标超过数组定义范围后,编译不会提示错误,但运行程序后会出现错误。

9

还有一种情况,当数组元素的下标值与定义的数组表示值一样时,也是超出定义范围的,因为数组元素下标是从0开始的。

10

以上两种情况统称为数组越界,这是因为程序要访问的数组元素并不在数组定义的存储空间之内。数组越界时,程序的语法是正确的,所以能够通过程序的编译。

11

数组越界是一种难以捕捉的错误,因为越界语句本身并不一定导致程序立即出错,可能会在某些情况下才会出现错误,导致程序不按照应当的次序运行的怪现象。

12

发现是否有数组越界问题,没有特殊的好办法,一般采用静查法。静查就是通过认真阅读,检查程序是否按照设计的要求编写。

注意事项

作者声明:本篇经验系本人辛勤劳动的原创成果,未经许可,谢绝转载。

推荐信息