21xrx.com
2025-03-31 05:42:27 Monday
文章检索 我的文章 写文章
C++如何申请二维动态数组?
2023-06-27 09:07:12 深夜i     13     0
C++ 申请 二维 动态数组

在C++中,要申请二维动态数组,需要使用指针和循环来实现。动态数组是一种在程序运行时动态分配内存的数据结构,与静态数组相比,它的大小可以根据需要进行调整,因此更具灵活性。

首先,声明一个指针类型的二维数组。例如,我们可以使用int**来代表一个二维整型数组。

接下来,使用new关键字来申请内存,指定数组的行数和列数。例如,我们可以使用以下代码来申请一个3行4列的二维整型数组:

int row = 3;
int col = 4;
int** arr = new int*[row];
for(int i = 0; i < row; i++){
  arr[i] = new int[col];
}

在上面的代码中,首先申请了一个指针类型的数组arr,其大小为row,表示二维数组中的行数。然后进入循环,对每一行都申请了一个含有col个元素的一维数组。

最后,可以像访问普通的二维数组一样访问动态申请的二维数组。例如,可以使用以下语句来输出数组中的元素:

for(int i = 0; i < row; i++){
  for(int j = 0; j < col; j++){
    cout<<arr[i][j]<<" ";
  }
  cout<<endl;
}

最后,使用完动态申请的二维数组后,应该使用delete关键字来释放其内存。代码如下:

for(int i = 0; i < row; i++){
  delete [] arr[i];
}
delete [] arr;

在上面的代码中,先使用循环来释放一维数组的内存,然后再释放指针类型的数组arr的内存。

总结来说,申请二维动态数组需要使用指针和循环来实现。在使用完动态申请的数组后,应该使用delete关键字来释放其内存,以避免内存泄漏的问题。

  
  

评论区

请求出错了