C++建立动态二维数组


C++建立动态二维数组主要有两种方法:

1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组
             
          int **b=new int*[row];      //分配一个指针数组,将其首地址保存在b中                                                   
          for(i=0;i<row;i++)            //为指针数组的每个元素分配一个数组
              b[i]=new int[col];
         
        该方法定义的动态二维数组的释放需先释放指针数组的每个元素指向的数组,然后再释放该指针数组:
          for(i=0;i<row;i++)
          {
                delete [col]b[i];
                b[i]=NULL;
          }
          delete [row]b;
          b=NULL;

int _tmain(int argc, _TCHAR* argv[])
{
 int row,column;
 cin>>row>>column;

 //方法一
 //申请空间
 int ** a = new int *[row];
 for(int i = 0;i < row;i++)
  a[i] = new int[column];

 //使用空间
 for(int j = 0;j < row;j++)
  for(int k = 0;k< column;k++)
   a[j][k] = rand()%100;

 for(int j = 0;j < row;j++)
 {
  cout<<endl;
  for(int k = 0;k< column;k++)
  {
   a[j][k] = rand()%100;
   cout<<a[j][k]<<"    ";
  }
 }
 
 //释放空间
 for(int i = 0;i < row;i++)
 {
  delete a[i];
  a[i] = NULL;
 }
 delete [row]a;
 a = NULL; 

 return 0;
 
}

运行结果:

C++建立动态二维数组

 

接下来请看第2页精彩内容

C语言变长数组之剖析

C语言需要注意的问题

C语言位域的使用及其注意点

C语言中的数组

  • 1
  • 2
  • 下一页

相关内容