奇妙なセグメンテーションフォールトエラーがあります。次のコードは、2D配列のセグメンテーションフォールトエラー
#include <stdlib.h>
#include <stdio.h>
main()
{
int matrixSize = 1000;
int i,j;
double a[matrixSize][matrixSize];
for (i = 0; i < matrixSize; i++)
for (j = 0; j < matrixSize; j++)
a[i][j] = rand() % 10;
double b[matrixSize][matrixSize];
for (i = 0; i < matrixSize; i++)
for (j = 0; j < matrixSize; j++)
b[i][j] = rand() % 10;
return 0;
}
細かい動作します。しかし私は1つの以上の2D配列を初期化しようとしたとき、私は「セグメンテーション違反」の例外を取得:
#include <stdlib.h>
#include <stdio.h>
main()
{
int matrixSize = 1000;
int i,j;
double a[matrixSize][matrixSize];
for (i = 0; i < matrixSize; i++)
for (j = 0; j < matrixSize; j++)
a[i][j] = rand() % 10;
double b[matrixSize][matrixSize];
for (i = 0; i < matrixSize; i++)
for (j = 0; j < matrixSize; j++)
b[i][j] = rand() % 10;
return 0;
}
潜在的な原因は何ですか?
2つのコード例は同じです。 – kennytm
これはなぜC++とマークされていますか? – shuttle87
C++タグを削除しました。 – tpg2114