-1
我試圖做一個一維數組在C 89401個元素:拋出異常錯誤
double **A = (double**)malloc(89401*sizeof(double*));
for (i = 0; i<89401; i++)
A[i] = (double*)malloc(89401*sizeof(double));
但我不斷收到此錯誤:
Exception thrown at 0x003F61E0 in final project 2.exe: 0xC0000005: Access violation writing location 0x00000000.
我不能找出問題所在。我在網站上搜索了以前提出的問題,但沒有一個對我有所貢獻。
如果有這種異常的處理程序,程序可能會安全地繼續。
在嘗試將某個元素指定給它所指向的元素之前,請檢查'A'是否不是'NULL'。 – MikeCAT
如果'sizeof(double)'是8,這將需要大約59.5GB的內存。你的系統有足夠的RAM(+ swap)來存儲這些大數據嗎? – MikeCAT
**始終**檢查與程序執行相關的功能錯誤結果。另外,不要在C中一般投放'malloc'&friends或'void *'的結果! – Olaf