一维数组进行访问时越界会出现什么状况解决方案
一维数组进行访问时越界会出现什么状况C语言里对一维数组进行访问时越界会出现什么状况?比如声明一个一维
一维数组进行访问时越界会出现什么状况
C语言里对一维数组进行访问时越界会出现什么状况?比如声明一个一维数组a[10],那么a[100]的结果怎么是4942,这个数是随机的吗?
[解决办法]
是的,取决于内存环境的状态,
但是请坚决不要这么做
[解决办法]
是~~~~(想回个是内容太短了...)
[解决办法]
结果是不可预见的(读到的是内存中的值,也可能是别的变量的值),也可能引起程序崩溃
[解决办法]
[解决办法][解决办法]Access Violation·~~~我经常会发现这个错误,主要来源于越界和使用了内存指向不正确的指针。
[解决办法]《深入解析Windows操作系统-Windows Internals》 内存管理
[解决办法]#include<stdio.h>
main()
{
int a[6],i;
for(i=0;i<6;i++)
a[i]=i;
for(i=0;i<7;i++)
printf("%d\n",a[i]);
}
=========================================================================
运行结果
0
1
2
3
4
5
1638280
===================
随机内存中的一个值吧
[解决办法]就当是不可控制的吧,这东西不用挖太深
[解决办法]