ファイル読み込み時におけるmallocを利用するには?

解決


DD  2011-08-29 14:21:36  No: 72878  IP: 192.*.*.*

お世話になります。

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)
}

編集 削除
瀬戸っぷ  2011-08-29 15:03:40  No: 72879  IP: 192.*.*.*

まず、どこでセグメンテーションエラーが出ますか?
malloc()でちゃんと確保できているか確認していますか?

編集 削除
DD  2011-08-29 16:08:47  No: 72880  IP: 192.*.*.*

確保が出来ているか調べます。
ありがとうございました。

編集 削除
DD  2011-08-29 16:09:24  No: 72881  IP: 192.*.*.*

解決です。

編集 削除