C++ 动态分配内存|动态数组

int** arr = new int* [n];
for (int i = 0; i < n; i++) {
    arr[i] = new int[2];
}

以上代码是用C++动态分配了一个二维数组arr,其中arr是一个指向int指针的指针,n是一个整数。代码的目的是创建一个包含n个大小为2的整数数组的二维数组。

首先,通过new int* [n]语句,我们分配了一个大小为n的int指针数组,将其赋值给arr。这个数组的每个元素都是一个int指针。

在C++中,new int是用于动态分配一个整数类型的内存空间,并返回其地址。可以将返回的地址赋给一个指针变量,以便对该内存空间进行访问和操作。使用new int时,需要注意在不再需要使用该内存空间时,使用delete释放该内存空间,以避免内存泄漏。

然后,通过for循环,我们遍历这个指针数组的每个元素。对于每个元素,我们使用new int[2]语句,分配了一个大小为2的int数组,并将其赋值给arr[i]。这样,arr[i]就成为了一个指向大小为2的整数数组的指针。

最终,我们得到了一个二维数组arr,它包含了n个大小为2的整数数组。这种动态分配的二维数组在使用完毕后,需要使用delete[]操作符释放内存,以防止内存泄漏。

你可能感兴趣的:(C++,算法,数据结构)