我在编程的过程中需要定义一个500*1000的二维数组来确定一个网格,定义完了之后就报栈堆溢出了,请问有什么更好的方法来替代?
这不是太大吧,怎么会不够呢?你试试在静态内存区定义数组,就是在代码块之外定义。
动态分配内存!!!二维数组太大了,函数的栈空间有限
在堆上分配内存,话说我之前的回答去哪里了。例子int * arr = new int[500*1000];arr[1000*3 + 2] = 123; //相当于arr[3,2]