关于Dev c++定义二维数组过大导致崩溃的问题

最近在用Dev c++联系c++编程,有一次在定义二维数组a[1001][1001]时Dev c++崩溃了 = =# ,
百度了一下发现是定义数组太大了,所以特意做了个实验,看看能定义最大的二维数组是多少:

#include
using namespace std;
int main()
{
	int a[1001][1001] = {1};

	cout << a[0][0] << ' ' << a[1000][1000];
	return 0;
}

关于Dev c++定义二维数组过大导致崩溃的问题_第1张图片
看到1001x1001时,程序崩溃了。。
经过梯度下降法(^ ^)终于找到定义上限,也就是719x719:

#include
using namespace std;
int main()
{
//	int a[1001][1001] = {1};
	int a[719][719] = {1};

	cout << a[0][0] << ' ' << a[718][718];
	return 0;
}

关于Dev c++定义二维数组过大导致崩溃的问题_第2张图片
看来Dev c这个编译器还是有点矫情的^ ^。
那么是不是我们就没办法定义1001x1001的数组呢?当然不是啦,有个简单的方法,那就是在main函数外定义:

#include
using namespace std;

int b[1001][1001] = {1};

int main()
{
//	int a[1001][1001] = {1};
	int a[719][719] = {1};

	cout << a[0][0] << ' ' << a[718][718];
	cout << endl;
	cout << b[0][0] << ' ' << b[1000][1000];
	return 0;
}

关于Dev c++定义二维数组过大导致崩溃的问题_第3张图片
还有半个月就考ccf了,这个坑大家可得小心了~~(180块钱啊!好贵!T.T)

ccf Fan Che Le T.T

你可能感兴趣的:(Dev,c,ccf,csp,Array)