申请空间:
int* *p=new int* [10];
for (int i=0;i<=10;++i)
{
p[i]=new int[5];
}
- 在第一行代码中*p代表第一维数组中存放的是指针(int*),也就是说第一维中有十个元素,每个元素都是以指针的形式存在。在第一行代码中我故意用空格来分割整体,就是突出这行代码表达的真实含义。
- for循环中new int[5] 表示每一个一维指针指向了5个含有int元素类型的空间。
释放空间:
for (int i = 0; i < 10; ++i) {
delete[] t[i];
}
delete[] t;
先释放每一个指针指向的数组空间,在释放指针数组。
本文详细解析了如何使用C++创建动态数组,并通过指针进行元素分配和释放。首先介绍了`int** p`的含义,随后展示了如何为每个指针分配`new int[5]`的空间。接着,逐步演示了释放空间的过程,包括逐个删除子数组和整个指针数组。重点突出了内存管理的正确实践。
1万+

被折叠的 条评论
为什么被折叠?



