標籤:
一: 一維數組初始化
標準方式1:int value[100]; //value[i]的值不定,因為沒有初始化;
標準方式2:int value[100] = {1,2,3}; //value[0],value[1],value[2]值是1,2,3,沒有定義的初始化為0
指標方式: int * value = new int[n]; //未初始化
刪除數組空間:delete []value;
二:二維數組初始化:
標準方式1:int value[100][100]; //value[i]的值不定,因為沒有初始化;
標準方式2:int value[100][100] = {{1,1},{2,2},{3,3}}; //value[0][0,1],value[1][0,1],value[2][0,1]初始化,沒有定義初始化為0
三:建立二維動態數組數組
這裡說的動態數組是指在編譯時間不能確定數組長度,程式在運行時需要動態分配記憶體空間的數組
1.使用指標,分配一個指標數組,將其首地址儲存在num中,然後再為指標數組的每個元素分配一個數組
1 int j = 3; //定義第二維數組的個數 2 int**num = new int *[longs]; //分配一個指標數組,將其首地址儲存在num中; 3 for(int i = 0; i < longs; i++){ //為指標數組的每個元素分配一個數組; 4 num[i] = new long[j]; 5 } 6 //用這種方法定義的動態二維數組的釋放需先釋放指標數組的每個元素指向的數組,然後再釋放該指標數組; 7 for(int i = 0; i < longs; i++){ 8 delete [j]num[i]; 9 num[i]=NULL;10 }11 delete [longs]num;12 num=NULL;
2.利用vector
1 int main() { 2 int row,column; 3 cin>>row>>column; 5 //申請空間 6 vector<vector<int> > a(row,vector<int>(column)); 7 //使用空間 8 for(int j = 0;j < row; j++) { 9 for(int k = 0;k < column; k++) {10 a[j][k] = rand()%100; 11 }12 }13 for(int j = 0;j < row;j++) { 14 cout<<endl; 15 for(int k = 0;k< column;k++) { 16 a[j][k] = rand()%100; 17 cout<<a[j][k]<<" "; 18 } 19 } 20 return 0; 21 }
C++動態數組