一个简单的C++数组定义问题,搞不明白为什么
#include <iostream>
#include <cmath>
using namespace std;
void main(){
double R=0.12;
double I=3.68;
double d=1.8*1e-3;
const int Nw=23, Mt=23;
const int num=200;
double x_rho[num];
double y_rho[num];
double z_rho=0;
double Bx_rho[num][num];
double By_rho[num][num];
double Bz_rho[num][num];
double B_rho[num][num];
cout<<"hello world"<<endl;
}
很简单的几句,但是 就是输不出hello world,但是注释掉一个最后四个二维数组中的任何一个就输出来了,请问是为什么?
[解决办法]
在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可。
[解决办法]
光是4个double数组都1M多了
VS 默认栈 1M,把栈调大一些,就没问题了