c++创建动态二维数组
时间: 2023-09-08 10:12:07 浏览: 120
在C++中,我们可以使用指针和new运算符来创建动态二维数组。下面是一个示例代码:
int rows = 3;
int cols = 4;
// 创建一个指向int指针的指针
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++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
// 释放内存
for(int i = 0; i < rows; i++) {
delete[] arr[i];
}
delete[] arr;
在这个例子中,我们使用指向int指针的指针来创建一个二维数组。首先,我们使用new运算符为指针数组分配内存。然后,我们使用for循环为每一行分配内存。接下来,我们使用两个for循环来给数组赋值和访问数组元素。最后,我们使用for循环释放内存。
相关问题
c++vector二维数组
C++中的vector是一个动态数组容器,可以方便地进行元素的插入、删除和访问。二维数组可以通过vector嵌套来实现。
下面是使用vector实现二维数组的示例代码:
#include <iostream>
#include <vector>
int main() {
// 创建一个二维数组,大小为3行4列
std::vector<std::vector<int>> matrix(3, std::vector<int>(4));
// 给二维数组赋值
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[i].size(); j++) {
matrix[i][j] = i * matrix[i].size() + j;
}
}
// 输出二维数组的值
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[i].size(); j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
上述代码中,我们首先创建了一个大小为3行4列的二维数组matrix
,其中每个元素都是int类型。然后使用两层循环给二维数组赋值,并输出二维数组的值。
c++语言二维数组输入
下面是 C++ 中二维数组的输入示例:
#include <iostream>
using namespace std;
int main() {
int arr[3][3];
// 输入二维数组
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
cin >> arr[i][j];
}
}
// 输出二维数组
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
在上面的示例中,我们定义了一个 3x3
的整型数组 arr
,然后使用两个嵌套的循环语句来逐个输入数组中的元素。最后,我们再使用两个嵌套的循环语句来输出数组中的元素。