お世話になります。
NUM_DATA=10000000を検討中です。
mallocを10000000行の一次元データを読み込みたいのですが、以下のコードですとセグメンテーションエラーが出てしまいます。
このようなケースのとき、どのようにmallocを使用したらよろしいのでしょうか。
ご教授いただけますと幸いです。
int main{
double *data;
// メモリ確保
data = ( double* )malloc( sizeof(double) * (NUM_DATA) );
if ((fp = fopen(DATA_FILE, "r")) == NULL) {
fprintf(stderr, "ファイル[" DATA_FILE "]をオープンできません.\n");
return 1;
}
for (int h = 0; h < NUM_DATA; h++)
{
fscanf(fp, "%lf\n", &data[h]);
}
fclose(fp)
}
まず、どこでセグメンテーションエラーが出ますか?
malloc()でちゃんと確保できているか確認していますか?
確保が出来ているか調べます。
ありがとうございました。
解決です。
ツイート | ![]() |