malloc函数处理内存时需注意什么,它分配内存大小有限制吗?如果要分配空间很大(如超过1G)怎么处理?

我要计算一个数组很大的程序,要将计算结果都保存;我采用的就是结果有多大就分多少空间,但发现无法分配。数组大小为1320000*5*5*15*8*2byte... 我要计算一个数组很大的程序,要将计算结果都保存;我采用的就是结果有多大就分多少空间,但发现无法分配。数组大小为1320000*5*5*15*8*2 byte 展开
 我来答
七月流光1
2012-09-20 · TA获得超过528个赞
知道小有建树答主
回答量:339
采纳率:100%
帮助的人:189万
展开全部
分配的内存大小肯定是有限制的,因为你的电脑内存是有限的啊!至于要分配1G的空间,需要这么大空间的我还没有见过呢。如果需要处理的话,最好分段处理,处理完了再处理其他的。至于怎么分段,我没有遇到过,所以说不上来。^_^

你可以尝试用文件的知识做。
a525970280
2012-09-20 · TA获得超过1163个赞
知道小有建树答主
回答量:698
采纳率:40%
帮助的人:420万
展开全部
1.注意申请格式
type *p = NULL;
if (NULL == (p = (type *)malloc(sizeof (type))))
{
perror("malloc");
exit(1);
}
...
free(p);
p = NULL;

2.申请1G的空间,你开玩笑吧,我反正没这么做过,至于大小我不知道。
追问
我要计算一个数组很大的程序,要将计算结果都保存;我采用的就是结果有多大就分多少空间,但发现无法分配。请问你有什么好的建议吗?我编程比较菜。
追答
可以看下代码吗?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
记住一座城
2012-10-20 · TA获得超过728个赞
知道小有建树答主
回答量:1091
采纳率:33%
帮助的人:663万
展开全部
分配太大硬盘就要吱吱的响了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叶玉晓
2012-09-20 · 超过16用户采纳过TA的回答
知道答主
回答量:143
采纳率:0%
帮助的人:73.2万
展开全部
执行分配语句后,判断一下,再执行后面的语句吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huhou444
2012-09-20
知道答主
回答量:87
采纳率:0%
帮助的人:38万
展开全部
这么大 ,看一下堆栈方面的设置吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式