在C++中,二级指针是指指向指针的指针。二级指针在动态分配中的应用通常用于存储指向动态分配的内存的指针数组。
例如,可以使用二级指针来动态分配一个二维数组。假设我们想要动态分配一个n行m列的整数数组,可以这样做:
int n = 3;
int m = 4;
int **arr = new int*[n]; // 分配n行
for (int i = 0; i < n; i++) {
arr[i] = new int[m]; // 分配每一行的m列
}
// 对数组进行赋值和访问
arr[0][0] = 1;
arr[1][2] = 2;
// 释放内存
for (int i = 0; i < n; i++) {
delete[] arr[i];
}
delete[] arr;
在上面的例子中,二级指针arr
被用来存储指向动态分配内存的指针数组,其中arr[i]
是一个指向整数数组的指针,用来存储第i行的数据。通过这种方式,可以灵活地动态分配多维数组,并方便地进行访问和释放内存。