-1
に私はCで89401個の要素を持つ1次元配列にするためにしようとしている:例外スローエラーC
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の場合、このwilは約59.5GBのメモリを要求します。あなたのシステムには、この大きなデータを格納するのに十分なRAM(スワップ)がありますか? – MikeCAT
**常に**プログラムの実行に関連する関数のエラー結果をチェックしてください。また、 'malloc'&friendsや' void * 'の結果をC言語でキャストしないでください! – Olaf