21xrx.com
2025-04-01 17:03:47 Tuesday
文章检索 我的文章 写文章
C++如何使用new动态分配二维数组
2023-06-30 15:30:16 深夜i     13     0
C++ new 动态分配 二维数组 指针

C++中动态分配二维数组的方法有多种,而使用new操作符动态分配二维数组是其中一种常见的方法。

使用new创建二维数组的步骤如下:

1. 定义两个变量,分别表示数组的行数和列数。

2. 使用new关键字动态分配一个数组,分配的大小为“行数*指针类型所占字节”。也就是说,new操作符创建了一个指向一维数组的指针。

3. 再次使用循环,为每一行分配空间。每行大小为“列数*元素类型所占字节”。

4. 最后,使用for循环初始化二维数组的各元素。

下面是一个动态分配二维数组并初始化的示例代码:

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 * 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;

注:释放动态分配的内存很重要,因为如果不释放,会导致内存泄漏。在上面的代码中,我们使用循环释放每一行的内存,然后再释放指向一维数组的指针。

总之,使用new操作符动态分配二维数组是一种常见的方法,非常灵活方便。通过上面的示例代码,你也可以快速学会如何使用new创建并初始化二维数组。

  
  

评论区

请求出错了