C++プログラミング二次元配列の動的構築方法

617 ワード

malloc関数を使用して作成(推奨)
new          (    ),        ,        。
free(p)   P            ,          ,  P       。
   p==NULL  ,P  0,         ,        ,            ,       。
10 * 10

int **p = (int **) malloc( sizeof(int*) * 10);
int i = 0;
for(i = 0; i < 10; i++)
{
   p[i] = (int*)malloc( sizeof(int) * 10);
}

for(j=0;j<10;j++)
   free(p[j]);
free(p);


//

newを使用して作成
//  
 char **a;
 a=(char **)new char *[N];
 for(int i=0;i<N;i++)
  a[i]=new char[N];
//  
 for(int i=0;i<N;i++)
  delete [] a[i];
 delete [] a;