| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3686 人关注过本帖
标题:C语言数组大小的问题
只看楼主 加入收藏
pixel1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-7
收藏
 问题点数:0 回复次数:14 
C语言数组大小的问题
向众位大虾请教一个问题:
我在做数值计算的时候用到了double的三维数组200×200×200,用VC或者Devc++编译没问题,但是执行的时候报出错。我把数组缩小到100×100×100没有问题。因为我要用到200×200×200这么大的空间储存中间结果,不知道有什么办法可以实现?
谢谢。
搜索更多相关主题的帖子: C语言 
2006-08-07 14:24
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
要用这么大的空间啊.
楼主可否把你要做的题目说出来.

倚天照海花无数,流水高山心自知。
2006-08-07 22:20
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
6400万字节>64k,不行.
论坛上曾有类似的帖子,一种解决方案是数组用 static实现。

对不礼貌的女生收钱......
2006-08-07 22:23
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
大数组请用动态分配。

我的原则很简单:不做不喜欢的事!
2006-08-07 22:27
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
想请教一下lj_860603,对于动态和静态数组,他们的生存期不同,但用static有什么不好,和用动态有什么好处.
我这方面比较白痴,我的理解是:静态是从静态存储区上分配的,它们的生存期从编译到程序结束,这和全局变量一样,所以我估计这太容易冲突???
而动态是从堆上分配的,生存期由程序员自己控制,比较灵活,使用得当,比较不容易冲突???
恳请不吝赐教.

对不礼貌的女生收钱......
2006-08-07 22:39
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 

TO:soft_wind

Sorry,刚刚才看到回帖。赐教不敢,说说看法而已。

这里应该不存在冲不冲突的问题,而是灵不灵活,浪不浪费空间的问题。

这里要明白其实静态变量也是在堆中分配的。但用静态变量一是不方便,二是浪费空间。用动态分配什么

时候需要申请多少,什么时候想释放都行。而静态变量,比如说一个大数组,利用完数组觉得在程序的下

面没有必要再用到了,这时候不可以把内存还给系统,而动态分配就不一样了。

但是有一个问题就是动态分配危险性比较高,因为要自己对内存进行管理。


我的原则很简单:不做不喜欢的事!
2006-08-08 00:44
pixel1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-7
收藏
得分:0 
因为我要做大规模的动态规划的模拟,所以状态变量比较多,而且我已经把它尽可能的缩减到200×200×200。不知道static 是不是可以解决我的问题,谢谢。
2006-08-08 09:14
xielijuan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-8-8
收藏
得分:0 
2006-08-08 16:35
xielijuan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-8-8
收藏
得分:0 
我是新手向大家请教一个问题。
有100元,买一百只鸡,共有多少种买法。公鸡5元/只,母鸡3元/只,小鸡5角/只。(100只鸡中要有公鸡、母鸡、小鸡)。
要用C语言编程编出来。
2006-08-08 16:38
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用lj_860603在2006-8-8 0:44:58的发言:

TO:soft_wind

Sorry,刚刚才看到回帖。赐教不敢,说说看法而已。

这里应该不存在冲不冲突的问题,而是灵不灵活,浪不浪费空间的问题。

这里要明白其实静态变量也是在堆中分配的。但用静态变量一是不方便,二是浪费空间。用动态分配什么

时候需要申请多少,什么时候想释放都行。而静态变量,比如说一个大数组,利用完数组觉得在程序的下

面没有必要再用到了,这时候不可以把内存还给系统,而动态分配就不一样了。

但是有一个问题就是动态分配危险性比较高,因为要自己对内存进行管理。

谢谢您的回答,我还有个问题,最近看一些程序的时候看到有个用申请远程堆上内存,可我不知道申请远程堆的内存(farcalloc,farmalloc)跟直接申请近堆的有何差别?申请远程堆的内存这样有何好处?难道是远程堆的内存要比近程堆的内存大得多?


对不礼貌的女生收钱......
2006-08-08 19:26
快速回复:C语言数组大小的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016261 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved