我想分析屏幕的图像,想建立一个大型二维数组,用于保存屏幕图像颜色数据。如int aa[1024][768];
系统提示堆栈OverFlow,不知大家有什么办法建立这样的大型数组?

创建全局的,或者静态的.

该回复于2008-08-02 12:36:14被版主删除

用指针试试。

楼主的问题出在申请的数组是局部变量是在堆栈中分配,堆栈的空间有限;
解决办法:  1。用全局变量;2。静态变量 static int aa[1024][768];
          3.动态申请,如new ,  4.堆heap中申请,malloc 等

#include "alloc.h"  // heap

typedef
    int AA[768];

int bb[1024][768];      // 全局
void __fastcall TForm1::Button1Click(TObject *Sender)
{
      //  int aa[1024][768];  栈中会溢出
      static int aa[1024][768];    // 静态

      AA * cc =new AA[1024];    // 静态区中分配
      AA * dd=(AA *)calloc(1024,768);  // 堆中分配,可以海量

      ShowMessage("test");
}