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

由于模拟计算的需要,需要定义几个比较大的数组(2000*20000)以供存放数据,但是VC6.0的数组大小好像有限制,请问如何才能解决这个问题?请给出具体的定义、调用程序语句。谢谢!

两种方法:

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

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

注:不仅VC6,所有编译器对堆栈大小都是有限制的,这个限制可以通过设置调整
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-28
使用new操作符 动态分配一部分内存,因为VC6.0的堆栈大小是有限制的,而动态堆则没有
第2个回答  2008-12-28
用new或alloc等动态申请,如果定义数组的话,是有点大了,因为堆栈大小是有限制的。

参考资料:http://topic.csdn.net/t/20030610/10/1897160.html

第3个回答  2008-12-29
一般1兆以内的空间可以用栈开辟,超过1兆的话最好在堆空间上开辟。
第4个回答  2008-12-29
动态分派
相似回答