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

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

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

我行我乐
我的博客:
http://blog.yuccn. net
2018-11-15 00:08
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:303
帖 子:6303
专家分:36611
注 册: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







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

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