程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++建立動態二維數組

C++建立動態二維數組

編輯: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;  
      
}  

 

  運行結果:   2.利用vector  
int _tmain(int argc, _TCHAR* argv[])  
{  
    int row,column;  
    cin>>row>>column;  
  
    //方法二  
    //申請空間  
    vector<vector<int> > a(row,vector<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]<<"     ";  
        }  
    }         
      
    return 0;  
      
}  

 

  運行結果為:  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved