C++ 定義陣列 傳遞陣列
阿新 • • 發佈:2018-12-27
1、靜態記憶體分配:
在定義陣列(必須指定陣列的大小為一個常量或者常數),例如:
int array[10];
//或
const int Size=10;
int array[Size];
2、動態記憶體分配:
一維陣列:
c語言:
//定義
int arraysize;//元素個數
printf("請輸入陣列的大小:");
scanf("%d",&arraysize);
int *array;//指標指向陣列
array=(int *)malloc(arraysize *sizeof(int));//動態記憶體分配
//釋放
free(array);
c++:
//定義 int arraysize;//元素個數 cout<<"請輸入陣列的大小:"; cin>>arraysize; int *array;//指標指向陣列 array=new int[arraysize]; //動態記憶體分配 //釋放 delete []array;
二維陣列
//定義 cin>>row >>col ; int **p2 ; p2 = new int*[row] ; for( i = 0 ; i < row ; i ++ ) p2[i] = new int[col] ; //釋放二維陣列 for( i = 0 ; i < row ; i ++ ) delete []p2[i] ; delete []p2 ;
三維陣列
//定義 cout<<"輸入三維陣列高,行,列 : "; cin>>hight>>row >> col ; int *** p3 ; p3 = new int**[hight ] ; for( i = 0 ; i < hight ; i ++ ) p3[i] = new int*[row] ; for( i = 0 ; i < hight ; i ++ ) for( j = 0 ; j < row ; j ++ ) p3[i][j] = new int[col] ; //釋放三維陣列 for( i = 0 ; i < hight ; i ++ ) for( j = 0 ; j < row ; j ++ ) delete []p3[i][j] ; for( i = 0 ; i < hight ; i ++ ) delete []p3[i] ; delete []p3 ;