C语言数组大小的问题
向众位大虾请教一个问题:我在做数值计算的时候用到了double的三维数组200×200×200,用VC或者Devc++编译没问题,但是执行的时候报出错。我把数组缩小到100×100×100没有问题。因为我要用到200×200×200这么大的空间储存中间结果,不知道有什么办法可以实现?
谢谢。
TO:soft_wind
Sorry,刚刚才看到回帖。赐教不敢,说说看法而已。
这里应该不存在冲不冲突的问题,而是灵不灵活,浪不浪费空间的问题。
这里要明白其实静态变量也是在堆中分配的。但用静态变量一是不方便,二是浪费空间。用动态分配什么
时候需要申请多少,什么时候想释放都行。而静态变量,比如说一个大数组,利用完数组觉得在程序的下
面没有必要再用到了,这时候不可以把内存还给系统,而动态分配就不一样了。
但是有一个问题就是动态分配危险性比较高,因为要自己对内存进行管理。
谢谢您的回答,我还有个问题,最近看一些程序的时候看到有个用申请远程堆上内存,可我不知道申请远程堆的内存(farcalloc,farmalloc)跟直接申请近堆的有何差别?申请远程堆的内存这样有何好处?难道是远程堆的内存要比近程堆的内存大得多?