| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1867 人关注过本帖
标题:怎么声明100万大小的数组?
只看楼主 加入收藏
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
怎么声明100万大小的数组?
有一道题模拟2维Ising模型,老师要求计算100万步骤。
可是声名 int sum[1000000];的话,vc2010里出错。
那应该要怎么声名?
搜索更多相关主题的帖子: 声明 大小 数组 int 出错 
2018-11-14 20:36
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6814
专家分:42393
注 册:2010-12-16
收藏
得分:15 
int sum[1000000]
sizeof(int) 应该是4个字节吧 4 * 1000000 约等于 4 M了,默认堆栈印象是1M,肯定出错

 int *sum = (int *)malloc(4 * 1000000 * sizeof(int));

试试这样。在堆开辟空间,用完后记得释放内存哈

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2018-11-15 00:08
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:5 
#include <memory>

auto arr = std::make_unique<int[]>(1000000);
能编译通过吗?若能,就用它。

否则,用
#include <vector>

std::vector<int> arr( 1000000 );


2018-11-15 09:06
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
收藏
得分:0 
谢谢
2018-11-16 14:08
快速回复:怎么声明100万大小的数组?
数据加载中...
 
   



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

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