うさぎのしっぽ

プログラミングとか。備忘録として使ってるブログです。あとは趣味少し。 間違いなどありましたらご指摘ください(・3・)

【c++】二次元配列の動的確保

vectorを用いた動的確保はこの記事では扱っていません.こちらのサイトさんをどうぞ:

C++で二次元配列を動的生成する3つの方法 - ねぎらぼ


 newを使った二次元配列の動的確保

参考サイトさんのコードが微妙に欠けているので,足りない部分を追記してメモ.

追加したところは赤くしてあります。

int size1=3;  //1つ目の要素数を指定

int size2=5;  //2つ目の要素数を指定

 

int** array= new int*[size1];  //初めに1つ目の配列を作る。

for (int i= 0; i<size1; i++){

   array[i] = new int[size2] ;    //1つ目の各要素に対して2つ目の配列を作る。

}//これで配列array[size1][size2]が使用可能になる。

 

//使い終わったらdeleteする。

for (int i= 0; i<size1; ++i){

delete array[i];       //作る時の逆で,各要素の2つ目の配列を削除する。

}

delete array;

 

参考:http://samidarehetima.blog9.fc2.com/blog-entry-95.html(リンク切れ)

似たコードを解説付きで載せているサイト:【C++】二次元配列を動的確保する : かんうん やかく