可能重复:
C编程,为什么这个大型数组声明会产生分段错误?
我写了一个简单的程序.
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int genotype[150000000];
}
Run Code Online (Sandbox Code Playgroud)
但我得到一个奇怪的错误:
RUN FAILED(退出值1,总时间:131ms)
我怎么能节省这个数量int?
(我有足够的内存来保存这个数量的ints,我的电脑是64位)
你的筹码太小了.把它放在堆上,使用new:
int* genotype = new int[150000000];
Run Code Online (Sandbox Code Playgroud)
我希望以下内容有用.
或者您可以使用limit.h来了解您的程序所依赖的内容.例如,这是你将如何找到int的最大范围:
C:
#include <limits.h>
const int min_int = INT_MIN;
const int max_int = INT_MAX;
Run Code Online (Sandbox Code Playgroud)
C++
#include <limits>
const int min_int = std::numeric_limits<int>::min();
const int max_int = std::numeric_limits<int>::max();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26261 次 |
| 最近记录: |