我用C在VC6.0中数据如下代码: #include<stdio.h> #define int { } 开到main函数外面,开在里面会因为数组太大而出错. 开在全局,开过10000*10000的都没问题的. |
编译选项里有个链接器选项-> system-> 堆栈保留大小
float[800][800]的空间
不过还是建议如果不是静态全局数组都动态分配啦
三种方法: 一、建立全局变量 二、使用new或者malloc在堆上申请空间。 三、在设置中提高运行栈的大小。(project->Settings->link->category中选择output->reserve中设定栈大小,最小4Byte) |
我所不明白的是:为什么设成全局变量就能定义大数组了
但是在程序
就不行呢?
因为全局变量是放在静态存储区的,并不占用栈空间。 |
栈不应该太大
其他语言会隐式地在堆上创建数组(有些语言的数组全部是放在堆上的),在