new 和 delete
1.new ,delete单个元素
int *a = new int(3);//初始化值
delete a;
2.new,delete 一维数组
int len = 10;
int *a = new int[len];
delete []a;
int len = 10;
int **a = new int* [len];//a是指向指针数组的指针
for (int i = 0; i < len; i ++) {
a[i] = new int [len];//指针数组中每个指针都指向一维数组
}
for(int i =0 ;i < len;i ++) delete [] a[i];
delete []a;
malloc 和 free
int *a = (int *)malloc(sizeof(int));
free (a);
int len = 10;
int *a = (int *)malloc(sizeof(int) * len);
free (a);
3.malloc 和 free 二维数组
int len = 10;
int **a = (int **)malloc(sizeof(int *) * len);
for (int i = 0; i< len; i ++) {
a[i] = (int *)malloc(sizeof(int) * len);
}
for (int i = 0; i < len; i ++) {
free (a[i]);
}
free (a);
void f(int len){
const int n = len;
int b[n];
...
}