配列変数のメモリを動的に確保するためには new 演算子を使います。
基本はスカラー変数の場合と同じですが、配列の場合は書式が異なります。
// int と double でそれぞれ 100 個の要素を確保するとき int *pointerOfIntArray = new int[100](); double *pointerOfDoubleArray = new double[100]();
おそらくメモリ確保の段階では間違えることも少ないと思いますが、問題はメモリ解放の場合です。 new で確保した配列メモリを解放するためには次のように書く必要があります。
delete [] pointerOfIntArray; delete [] pointerOfDoubleArray;
delete の後にブラケットが必要である点に注意してください。これはプログラミングに慣れている人でもよく忘れてしまいます。
Comments
double *pointerOfDoubleArray … ですよねー。
> hoge さん
あ、本当ですね…
ご指摘ありがとうございます m(_ _)m
Contributions