c++编程中如何定义一个很大的数组(2000*20000)?

来源:百度知道 编辑:UC知道 时间:2024/05/26 16:37:17
由于模拟计算的需要,需要定义几个比较大的数组(2000*20000)以供存放数据,但是VC6.0的数组大小好像有限制,请问如何才能解决这个问题?请给出具体的定义、调用程序语句。谢谢!

两种方法:

1、把这些数组定义成全局的,不要放在函数内部;

2、和一楼兄弟说的方法一样用new或malloc申请动态内存,例如:
char* a = new char[2000*20000];

注:不仅VC6,所有编译器对堆栈大小都是有限制的,这个限制可以通过设置调整

使用new操作符 动态分配一部分内存,因为VC6.0的堆栈大小是有限制的,而动态堆则没有

用new或alloc等动态申请,如果定义数组的话,是有点大了,因为堆栈大小是有限制的。

全局变量

一般1兆以内的空间可以用栈开辟,超过1兆的话最好在堆空间上开辟。

动态分派