| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4958 人关注过本帖
标题:如何定义大数组?
只看楼主 加入收藏
kilvdn
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-7-25
收藏
 问题点数:0 回复次数:8 
如何定义大数组?
我需要定义一个数组,包含1000001个元素,编译时,总说我定义的数组过大,有没有什么方法能解决的啊?
搜索更多相关主题的帖子: 定义 元素 编译 
2005-07-25 21:38
天空之城
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-6-25
收藏
得分:0 
用malloc函数,
这么大的数据你可以选择用malloc分配二维数组的方式方便访问

天空之城...
2005-07-25 22:39
seeker
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2005-6-5
收藏
得分:0 
int *a;
a=(int *)malloc(1000000001*sizeof(int));

这样就不会了,如果是C++的话,就a=new int [100000001];
不会出现楼主的问题。

我相信总有一片天空属于我!http://myseeker. E-Mail:lwqcny@
2005-07-25 22:57
kilvdn
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-7-25
收藏
得分:0 


malloc 函数不会用,能给解释一下吗?
2005-07-25 23:22
天空之城
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-6-25
收藏
得分:0 
楼上不是举例了吗?

天空之城...
2005-07-25 23:29
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
以下是引用seeker在2005-7-25 22:57:56的发言: int *a; a=(int *)malloc(1000000001*sizeof(int)); 这样就不会了,如果是C++的话,就a=new int [100000001]; 不会出现楼主的问题。
即使你在堆内存中分配也不一定能得到那么大的连续的内存空间! 还有你的1000000001少写了个l,告诉它是长整形! 还有你申请完空间后没有判断是否申请到! 在使用malloc()函数和new操作符后都要判断是否得到想要的内存

差点把你忘了...
2005-07-26 08:57
diante
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2005-7-10
收藏
得分:0 
数组定义的最大限度是多少啊
谢谢
2005-07-26 21:14
zzb_ks
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2005-7-6
收藏
得分:0 
就是系统提示你不能定义这么大的数组那就是最大了

2005-07-26 21:45
seeker
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2005-6-5
收藏
得分:0 
TO 6楼:

我知道你说的申请内存要判断,我只是给楼主一个例子而已,呵呵。

我相信总有一片天空属于我!http://myseeker. E-Mail:lwqcny@
2005-07-26 22:32
快速回复:如何定义大数组?
数据加载中...
 
   



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

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