c++ array构建二维数组
时间: 2023-10-28 19:04:43 浏览: 51
在 C++ 中,你可以使用数组来构建二维数组。有两种常见的方法可以实现这个目标:
1. 使用数组指针:你可以声明一个指向数组的指针,并将其用作二维数组的名称。然后,你可以动态分配内存来创建二维数组。下面是一个示例代码:
```cpp
int main() {
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++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
// 释放内存
for (int i = 0; i < rows; i++) {
delete[] arr[i];
}
delete[] arr;
return 0;
}
```
在这个示例中,我们使用了 `new` 运算符来动态分配内存,创建一个 `int` 类型的二维数组。然后,我们对二维数组进行了初始化和访问,并在结束时释放了内存。
2. 使用二维数组的静态分配:你可以直接声明一个具有固定大小的二维数组。下面是一个示例代码:
```cpp
int main() {
int rows = 3;
int cols = 4;
int arr[rows][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;
}
return 0;
}
```
在这个示例中,我们使用了固定大小的二维数组 `arr[rows][cols]`,并对其进行了初始化和访问。
无论你选择使用动态分配的二维数组还是静态分配的二维数组,都可以根据你的需求选择适合的方法。记得在使用动态分配内存时,要及时释放内存,以避免内存泄漏。