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无用
悬赏问题
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
- ¥50 成都蓉城足球俱乐部小程序抢票
- ¥15 yolov7训练自己的数据集
- ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)