VC++6.0での配列の動作不良
現在、VC++6.0のWin32 Console Applicationプロジェクトでプログラムを書いているのですが、配列の様子がおかしいです。
具体的に言うと、ヘッダで
#define N 10
#define NN (2*N*2*N)
double A[NN+1][NN+1],S[NN+1][NN+1];
double B[NN+1],C[NN+1];
と配列を宣言しているのですが、A,B,Cそれぞれの配列への値の書き込みは普通に行えるのですが、
Sに値を書き込んでいる最中にプログラムが強制終了していまします。エラーメッセージなどはでません。
デバッグすると、Sに値を書き込むfor文の繰り返しの最後のほうに
バンドルされていない例外は***.exeにあります。0xC0000005:Access Violation
というメッセージが出てそこでプログラムが終了してしまいます。なぜでしょうか?
AとSのfor文はまったく同じで、SかわりにAを使うと、このエラーは生じません。
またヘッダで、
#define N 10
#define NN 400
double A[NN+1][NN+1],S[NN+1][NN+1];
double B[NN+1],C[NN+1];
とNNを数字で表すとこのエラーが生じず、普通に実行されます。なぜこのようなことが起こるのでしょうか?
どなたか教えていただければ幸いです。お願いします。
お礼
ありがとうございました。