温馨提示×

C++动态二维数组怎样释放内存

c++
小樊
233
2024-07-25 16:50:14
栏目: 编程语言

在C++中,动态二维数组一般通过指针数组来实现。要释放动态二维数组占用的内存,需要按照以下步骤进行:

  1. 首先释放每一行的内存:
for(int i = 0; i < numRows; i++) { delete[] array[i]; } 
  1. 然后释放指针数组的内存:
delete[] array; 

其中,array是指向动态二维数组的指针,numRows是数组的行数。

完整的释放内存的代码示例如下:

int numRows = 5; int numCols = 3; int **array = new int*[numRows]; for(int i = 0; i < numRows; i++) { array[i] = new int[numCols]; } // 使用动态二维数组 // 释放每一行的内存 for(int i = 0; i < numRows; i++) { delete[] array[i]; } // 释放指针数组的内存 delete[] array; 

注意,释放内存后,务必将指针置为nullptr,以避免悬空指针的问题:

array = nullptr; 

0