0
我試圖創建大小從10x10到1000x1000所有的矩陣大約980我開始用盡內存,即使程序顯然不使用我的系統的所有4GB 。我的代碼如下所示:C沒有可用的程序內存:不安全的調用malloc錯誤
double **a3;
double **result;
a3 = malloc(k * sizeof(double *));
for(i = 0; i < k; i++)
{
a3[i] = malloc(sizeof(double));
}
result = malloc(k * sizeof(double *));
for(i = 0; i < k; i++)
{
result[i] = malloc(k * sizeof(double));
}
for(i = 0; i < k; i++)
{
for(j = 0; j < k; j++)
{
a3[i][j] = 0;
result[i][j] = 0;
}
}
...
for(i = 0; i < k; i++)
{
free(a3[i]);
free(result[i]);
}
free(a3);
free(result);
我不知道爲什麼,這並不工作(如果我使用int數組,但我需要雙陣列,它的工作)
我使用的是Mac OSX 64位
你將無法使用malloc 4GB;可能接近2GB。什麼OS? WINOWS? Linux呢? – 2012-01-27 01:05:31
'k'的價值是什麼? – Joe 2012-01-27 01:05:40
k從10變到1010,但980是失敗時。我在Mac OSX – chrstahl89 2012-01-27 01:08:13