C++ では、動的にメモリーを確保するには、new 演算子を用いる。 メモリーの解放には delete 演算子を用いる。
double *u; ... u = new double [N+1]; if (u == NULL) { /* エラー処理 */ cerr << "u[] のメモリー確保に失敗しました。" << endl; exit(1); }(ここから後は double u[N+1]; のように配列として 定義したのと殆んど同様に扱える。) ... /* メモリーの解放 */ delete [] u; |
なお、C++ の場合は実行文の後に変数定義をすることも出来るので、
... cout << "区間の分割数 N: "; cin >> N; double u[N+1], newu[N+1]; ... |