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]; ... |