我一直在運行這個隨機遊走模擬一段時間,我一直從Xcode得到一個錯誤EXC_BAD_ACCESS
。儘管如此,它還是打印出大部分的模擬結果。爲什麼這個數組不夠大?
我認爲它由於某種原因耗盡內存,但我不知道爲什麼。
如果我走向陣列末尾,我編輯它,所以我沒有得到邊緣的100個空格(通過編輯步驟-100的變量步驟)。這工作,但我想知道發生了什麼事。
任何幫助,將不勝感激。
double** places;
places = (double**) malloc(steps*sizeof(double*));
for (int i = 0; i < steps; i++)places[i] = (double*) malloc(2*sizeof(double));
for (i = 0; i< steps/*, exit*/; i++) {
// Find the angle of movement
angle = getRand()*360;
// Take a step
xPos+= STEP*cos(angle);
yPos+= STEP*sin(angle);
//Write Step to array
places[i][1] = xPos;
places[i][2] = yPos;
//Write Step to File
fprintf(ff, "%d %lf %lf\n",i,xPos,yPos);
}
哦,謝天謝地!現在我覺得自己像個白癡。我知道這一點,但我完全混淆了它。 – Treesrule14 2012-01-08 06:04:43
沒問題。它發生在我們最好的:) – tangrs 2012-01-08 06:06:10