double** kk1;
kk1 = (double**)malloc(sizeof(double*) * 19844);
for (int i = 0; i < 19844; ++i)
{
kk1[i] = (double*)malloc(sizeof(double) * 19844);
}
if (kk1 == NULL)
{
printf("error");
}
for (int i = 0; i < 19844; i++)
{
for (int j = 0; j < 19844; j++)
{
kk1[i][j] = 0;
}
}
printf("%lf", kk1[0][0]);
}
请指教!!感谢
for (int i = 0; i < 19844; ++i)
{
kk1[i] = (double*)malloc(sizeof(double) * 19844);
}
二维数组空间不是分配好了,你这循环分配,怎么可能够用啊
你要想都赋值为0,可以用memset啊
为啥不在前面一个问题回复呢?
前面不是告诉你了吗。。。
超出编译器默认的堆大小了。你把19844该成10看看报错吗,不报错就说明你代码没问题,就是堆空间不够用了