填充数组中的程序崩溃

问题描述 投票:0回答:1

我由于在代码的这一部分填充数组而导致程序崩溃。即使我使用矢量进行操作,也会崩溃。

long long a[200000000]{0,1};
for(long long i{2};i<200000000;i++){
    a[i]=a[i-1]+i;
}

OR

vector<int> a;
a.push_back(0);
a.push_back(1);
for(long long i{2};i<200000000;i++){
a.push_back(a.back()+i);
}

我正在使用devC ++。

c++ arrays vector
1个回答
1
投票

[第二个使用一个向量,该向量分配您在堆上指定的内存。如果有足够的可用内存,则应该可以正常工作。目前尚不清楚第一个代码段是否在函数内,但是如果是,那么很可能会使堆栈溢出。

© www.soinside.com 2019 - 2024. All rights reserved.