在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行的數據。通過這種方式,可以靈活地動態分配多維數組,并方便地進行訪問和釋放內存。