【发布时间】:2015-12-01 07:29:09
【问题描述】:
在将数组声明为全局时,我可以将其大小设为 5000000 bt,但当我在 main 中声明它时是不可能的,为什么?
工作正常
#include<iostream>
int arr[5000000];
using namespace std;
int main()
{
arr[0]=1;
cout<<arr[0];
return 0;
}
分段错误
#include<iostream>
using namespace std;
int main()
{
int arr[5000000];
arr[0]=1;
cout<<arr[0];
return 0;
}
【问题讨论】:
-
使用
std::vector<int> arr(5000000);在堆上分配数据。
标签: c++ arrays global-variables main local-variables