存储空间问题,求大神解答一下!!!
麻烦各位帮解答一下,谢谢啦!!!在用二维数组指针存储数据时,给二维数组指针分配存储空间时,一维的大小和二维的大小就有限制啦,如下测试程序
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j;
double **a=(double **)malloc(39000*sizeof(double*));
for(i=0;i<39000;i++)
a[i]=(double *)malloc(6000*sizeof(double));
for(i=0;i<39000;i++)
for(j=0;j<6000;j++)
a[i][j]=0;
system("pause");
for(i=0;i<39000;i++)
free(a[i]);
free(a);
return;
}
当把二维的6000改为7000时就会出现“aa.exe 中的 0x01241479 处有未经处理的异常: 0xC0000005: 写入位置 0x00000000 时发生访问冲突”。
但要创建39000×39000的二维数组大小时,怎么处理,这里malloc分配空间不够,请问各位有什么好的解决办法嘛?有可以用c语言创建39000×39000大小的二维数组嘛?
[此贴子已经被作者于2017-10-6 09:07编辑过]