导入
分配类型
学习不同类型的内存分配。
简介
在 C++ 中,我们可以有两种方式来分配内存:
- 静态分配
- 动态分配
静态分配
在 静态分配 中,程序在执行前(编译时)就为变量或数组分配固定数量的内存,程序运行期间无法再请求额外的内存。
在静态分配中:
- 我们必须在编译时就知道数组或变量的大小。
- 内存由编译器负责分配和释放。
动态分配
有时你会遇到一种情况:事先不知道存储数据需要多少内存。这时就需要使用动态分配。
示例程序
假设你想从用户输入一个句子,但你并不知道所需数组的确切字符数量。
No configuration found for ID: f04bf1d0cd0d382ba33426f7d3193d5d52c6800ca8e93d7c84ec18d845436a8b
说明
-
如果你初始化的数组字符数少于输入句子的实际长度,可能会导致错误。
-
如果你初始化的数组字符数多于实际输入句子的长度,未使用的内存就会被浪费。
此时,动态分配就派上用场了。
动态分配
在动态分配中:
- 程序运行期间可以按需获取任意数量的内存;
- 内存由程序员在运行时手动分配和释放。
接下来深入探讨 C++ 中动态内存分配的细节。