C语言开发的时候,什么是数组越界,一般都是什么原因造成的有什么危害呢
1条回答 默认 最新
- csujszxzcx 2020-01-11 23:03关注
所谓数组越界(实际上是指数组下标越界)是指在引用数组元素时,被引用元素的下标超出了该数组中元素可能存在的下标范围,也就是说被引用用的元素实际上在数组中不存在。
一般在循环遍历访问数组所有元素后(即循环结束后),再访问下标变量值所对应的元素,就会出现下标越界现象。
例如:
int a[10]; //定义由10个元素组成的数组a,元素分别是a[0],a[1],...,a[9]
for (int i=0;i<10,i++)
a[i]=i*i;
cout<<a[i]; //这个语句属于循环结束后的语句,此时i的值已经等于10了,它实际上是试图输出a[10]元素;所以这个语句会出现数组越界解决 1无用