C/C++如何解决大数组问题?

转载 2007年09月23日 05:52:00
  • 编了一晚上的程序,结果因为数组太大不能运行:segmentation……
  • 取找解决方法:这个比较适用!赞
  •  
  •  
  • 方法一:  

  在VC的Project   setting里的link选项卡里把栈开大一点(windows里默认是4M)  

  •   方法二:  

  声明成全局或static的,这两种变量不压栈,想开多大都可以  

  •   方法三:  
  int   *A   =   new   int[90000];  
  .....  

  delete   A;  

  •   方法四:  

  用vector  
  #include   <vector>  
   
  using   namespace   std;  
   
  void   main()  
  {  
        vector<int>   A(90000);  
        A[0]   =   1;  
  }

 

相关文章推荐

c语言中静态数组的定义和初始化

数组可以初始化,即在定义时,使它包含程序马上能使用的值。  例如,下面的代码定义了一个全局数组,并用一组Fibonacci数初始化:    int iArray[10]={1,1,2,3,5,8,13...

C++ 数组到底能开多大。。

我使用的是CodeBlocks,当数组下标过大时,就会在编译时出现错误,为了避免这个错误,其实主要是自己无聊,我进行了尝试,最后得出一个结论: 在CodeBlocks中,使用C++,int型数组,其下...

C++数组到底可以开多大?

一个由C/C++编译的程序占用的内存分为以下几个部分     1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其     操作方式类似于数据结构中的栈。&#...

C++调用大数组出现栈溢出的问题解决方法,堆和栈的完全解析

总结:除非特别要求,不应开一个大于>100的数组,是很不明智的! 主要有两个办法: 一 改为堆变量: int* pa = malloc(sizeof(int)*1000*1000); 然后可以...

C++ 静态数组过大,栈溢出

使用C++定义静态数组时,如果数组过大,会导致栈溢出。 例如,如下代码能够正常运行: int main (){ int len = 2895; bool pd[len][len]; ...

C++函数内大数组导致段错误

在函数里面不适合定义很大的临时数组变量。应该使用堆动态分配。栈大小有限,太大就报错了,所以要放到堆里,可以定义全局变量或动态分配。 函数内部(局部变量)禁止定义大数组,而应使用动态内存;如数组需传入...

vector 计算数组中的最大值 最小值

使用STL的Vector时,利用函数 max_element,min_element,distance可以获取Vector中最大、最小值的值和位置索引: #include #include ...

c++计算一维数组中的最大元素

找出一维数组中的最大值 先随便定义一个最大值 int max=a[0]; 遍历所有的元素与max相比较 #include #include using namespace std; #...

C++ 定义数组大小问题

一般情况下VC++编译的程序一个线程的栈的大小默认为1M(其他的编译器定义的栈大小也不会很大),定义数组大小 比如 int a[1000][1000]; 的时候就会出错,大小有1000*1000*4 ...

关于C语言开大数组溢出的问题

C语言的内存分配、堆栈溢出、全局变量、局部变量、全局数组大小、局部数组大小
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)