在C ++中,可以使用指針和new關鍵字來定義動態二維數組。以下是一個示例:
int rows = 3; // 二維數組的行數
int cols = 4; // 二維數組的列數
// 分配內存
int **arr = new int*[rows];
for (int i = 0; i < rows; ++i) {
arr[i] = new int[cols];
}
// 初始化數組
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
arr[i][j] = i * cols + j;
}
}
// 訪問數組元素
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
// 釋放內存
for (int i = 0; i < rows; ++i) {
delete[] arr[i];
}
delete[] arr;
在上面的示例中,我們首先使用new關鍵字分配動態二維數組的內存,然后使用雙重循環對數組進行初始化和訪問。最后,我們使用delete[]釋放內存。請注意,釋放內存的順序應該與分配內存的順序相反。