二维数组如何定义?
二维数组这样对吗?double **A=new double *[(M+1)*(N+1)*(P+1)];
for(int z=0;z<(M+1)*(N+1)*(P+1);z++)
A[z]=new double[(M+1)*(N+1)*(P+1)];
for(i=0;i<(M+1)*(N+1)*(P+1);i++)
for(j=0;j<(M+1)*(N+1)*(P+1);j++)
A[i][j]=0;
其中M,N,P的值已知,分别为150,100,32.我在运行程序的时候到这里就出现break运行不下去,能解释一下吗?
我在百度上问,有个人给我的回答是这样的:
这明显的数组太大了A[503283][503283]这么大的数组,肯定运行时错误了。
追问:
7 分钟前
数组的维数大小有明确规定上限吗?我需要的维数实际上比这个还大呢,这还算小的了,要保持维数大小不变,有什么办法可以处理?
追答:
4 分钟前
他两个乘起来就是2.5329e+011这么大的空间,好像一般编译器申请空间都在10的7次幂的级数。
追问:
1 分钟前
那我的问题根本没法实现,我需要的空间真的很大
大家有什么看法,给出来参考参考