1. 程式人生 > >C++ 定義陣列 傳遞陣列

C++ 定義陣列 傳遞陣列

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 ;  

傳遞陣列

https://www.cnblogs.com/usa007lhy/p/3286186.html