c++创建动态二维数组
时间: 2023-09-08 18:11:51 浏览: 141
在 C++ 中,可以使用指针和动态内存分配来创建动态二维数组。以下是一个示例代码:
```c++
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++) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
// 释放内存
for(int i = 0; i < rows; i++) {
delete[] arr[i];
}
delete[] arr;
```
在这个示例代码中,我们首先使用 `new` 运算符分配了一段内存,其中 `arr` 是一个指向指针的指针,它指向了一组指针,每个指针又指向了一组整数。然后我们使用两个循环分别赋值和访问二维数组的元素。最后我们使用 `delete` 运算符释放了内存。需要注意的是,释放内存时要按照分配内存的顺序逆序释放。
相关问题
c++创建动态一维数组
要在C ++中创建动态一维数组,可以使用关键字new,例如:
```
int size = 10;
int* array = new int[size];
```
在上面的代码中,创建了一个大小为10的int类型数组,该数组的指针存储在名为array的指针变量中。要访问数组中的元素,可以使用下标符号[],例如:
```
array[0] = 1;
int x = array[0];
```
在使用完数组后,必须使用delete关键字释放内存,例如:
```
delete[] array;
```
c++创建动态二维数组的实现
在 C++ 中,可以使用指针和动态内存分配来创建动态二维数组。以下是一个示例代码:
```c++
int rows = 3;
int cols = 4;
// 动态分配一维指针数组
int** arr = new int*[rows];
// 动态分配二维数组
for (int i = 0; i < rows; ++i) {
arr[i] = new int[cols];
}
// 访问二维数组
arr[0][0] = 1;
arr[0][1] = 2;
arr[1][0] = 3;
arr[1][1] = 4;
// 释放内存
for (int i = 0; i < rows; ++i) {
delete[] arr[i];
}
delete[] arr;
```
在上述代码中,首先使用 `new` 关键字动态分配了一个指向指针的一维数组 `arr`,该一维数组的大小为 `rows`。然后,在 `for` 循环中,对于每个 `arr[i]`,又动态分配了一个大小为 `cols` 的一维数组,从而实现了动态二维数组的创建。最后,需要记得在程序结束时释放内存,避免内存泄漏。
阅读全文