公司网站主页设计图片,wordpress与phpmyadmin,做视频链接哪个网站好,江西南昌网络公司《数组下标越界》
数组定义的一般形式为#xff1a;类型说明符 数组名[常量表达式] [常量表达式]这两个常量表达式分别指定了二维数组的行数和列数#xff0c;程序编译时据此向内存申请空间。
引用二维数组的格式为#xff1a;数组名[行下标] [列下标]#xff0c;下标都是从…《数组下标越界》
数组定义的一般形式为类型说明符 数组名[常量表达式] [常量表达式]这两个常量表达式分别指定了二维数组的行数和列数程序编译时据此向内存申请空间。
引用二维数组的格式为数组名[行下标] [列下标]下标都是从零开始。
假设int a[10]是一个名为a的一维数组它包含十个元素则内存为数组分配的空间也是10数组下标范围为0~9如果不小心将数组最后一个元素a[9]写成a[10],成为第十一个元素内存没有为它分配内存它就会占用内存中其他的单元格这就是我们所说的越界越界会造成一些很严重的后果。
例
#includestdio.h
int main()
{
int i;
int arr[10];
for(i1;i10;i)
{
if(i10)//软件在每个相邻的内存上有炸弹
{
i2;
}
arr[i]0;
printf(%d\n,i);
}
return 0;
}程序陷入死循环当i9的时候a[9]0,当i10的时候系统把值赋给他相邻的单元格赋给ii从9变成0i永远都不可能大于10所以陷入死循环。