c++

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

小樊
166
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
看了该问题的人还看了