注册 登录
编程论坛 C++教室

申请一个1500*1500的双精度数组空间,程序运行不动?

bluehh 发布于 2013-02-05 20:01, 422 次点击
im2=allocate_f_2d(n_mod,n_mod);
double **allocate_f_2d(int r,int c)
/*给二维浮点数组申请储存空间*/
{
    double **a=new double*[r];
    for(int i=0;i<r;i++)
        a[i]=new double[c];
    return a;
}

9 回复
#2
不玩虚的2013-02-06 08:44
学习,那两个涵数什么意思,这是写啥的。
#3
yuccn2013-02-06 12:14
应该还有其他代码吧,程序运行不动的原因应该不在这块,把其他的也帖出来瞧瞧。
或者你传进去(n_mod太大了?
#4
fxbszj2013-02-06 17:16
坐等结果
#5
bluehh2013-02-07 14:08
回复 3楼 yuccn
是的,和你说的一样。后来发现是其他调用函数时,实参形参没有对应,导致实际开内存比这还要大。
#6
bluehh2013-02-07 14:10
回复 楼主 bluehh
这就是开一个二维数组。
#7
TonyDeng2013-02-07 14:28
你也不去算算1500*1500的Double数据空间有多大
#8
zklhp2013-02-07 14:48
以下是引用TonyDeng在2013-2-7 14:28:00的发言:

你也不去算算1500*1500的Double数据空间有多大

1500*1500*8=18000000≈17.166M
#9
TonyDeng2013-02-07 14:54
new的是啥?指针存放在哪?
#10
bluehh2013-02-09 19:47
回复 9楼 TonyDeng
new的是double类型,存放在a[];还有double类型指针,放在指针a里面。
1