c++ 动态内存分配指针
时间: 2023-08-16 20:11:26 浏览: 156
C++动态内存分配
4星 · 用户满意度95%
在C++中,动态内存分配是通过使用`new`和`delete`关键字来完成的。动态内存分配可以让程序在运行时动态地分配和释放内存,而不是在编译时固定地分配。
要动态地分配内存,可以使用`new`关键字来创建一个指针,并将其指向所需大小的内存块。例如,下面的代码演示了如何动态地分配一个整型变量的内存:
```cpp
int* ptr = new int; // 动态分配一个整型变量的内存
```
这将在堆(heap)上分配一个整型变量的内存,并将指针`ptr`指向该内存地址。
使用动态分配的内存后,记得在不再需要时释放它以避免内存泄漏。可以使用`delete`关键字来释放动态分配的内存。例如,下面的代码演示了如何释放先前分配的整型变量的内存:
```cpp
delete ptr; // 释放动态分配的内存
```
在释放内存后,应该将指针设置为`nullptr`,以避免悬空指针的问题。
请注意,动态分配的内存在使用后必须手动释放,否则会导致内存泄漏。另外,如果动态分配了一个数组,应使用`delete[]`来释放内存。
```cpp
int* arr = new int[5]; // 动态分配一个包含5个整型元素的数组
delete[] arr; // 释放动态分配的数组内存
```
这是C++中动态内存分配的基本概念。记得在使用动态分配的内存后进行适当的释放,以避免内存泄漏和其他问题。
阅读全文