C++での二次元配列の動的作成方法は何ですか?
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;
}
この例では、最初にユーザーから作成する2次元配列の行数と列数を取得します。次に、new演算子を使用して、行のポインタを格納するためにメモリを動的に割り当てます。その後、ループを使用して各行にメモリを割り当てて列データを保存します。その後、必要に応じてループを使用して2次元配列を初期化およびアクセスできます。最後に、2次元配列を使用した後、メモリリークを防ぐために動的に割り当てられたメモリを解放することを忘れないでください。