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 ;