在C++中,可以使用指針和動態內存分配來動態創建二維數組。以下是一個示例:
#include <iostream>
int main() {
int rows, cols;
std::cout << "請輸入行數和列數:";
std::cin >> rows >> cols;
// 動態分配內存
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;
return 0;
}
在此示例中,首先從用戶處獲取要創建的二維數組的行數和列數。然后,使用new
運算符動態分配內存以存儲行指針。接下來,使用循環為每行分配內存以存儲列數據。然后,可以按照需要使用循環初始化和訪問二維數組。最后,必須記得在使用完二維數組后釋放動態分配的內存,以防止內存泄漏。