21xrx.com
2024-12-27 07:07:47 Friday
登录
文章检索 我的文章 写文章
C++如何使用new动态分配二维数组
2023-06-30 15:30:16 深夜i     --     --
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创建并初始化二维数组。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复