阅读量:132
在C++中,动态分配二维数组可以使用指针的指针(二级指针)来实现。以下是一个示例代码:
#include
int main() {
int rows, cols;
// 输入行数和列数
std::cout << "Enter the number of rows: ";
std::cin >> rows;
std::cout << "Enter the number of columns: ";
std::cin >> cols;
// 动态分配二维数组
int** arr = new int*[rows]; // 创建指向指针的指针,表示行
for (int i = 0; i < rows xss=removed class="hljs-keyword">new int[cols]; // 每个指针指向一个数组,表示列
}
// 为二维数组赋值
for (int i = 0; i < rows class="hljs-keyword">for (int j = 0; j < cols xss=removed class="hljs-comment">// 打印二维数组
for (int i = 0; i < rows class="hljs-keyword">for (int j = 0; j < cols class="hljs-string">" ";
}
std::cout << std class="hljs-comment">// 释放内存
for (int i = 0; i < rows class="hljs-keyword">delete[] arr[i];
}
delete[] arr;
return 0;
}
该代码中,首先通过new运算符动态分配了一个指针数组,表示行。然后,使用循环为每个指针分配一个数组,表示列。接下来,为二维数组赋值,并打印出来。最后,使用delete运算符释放内存。