Logo
Section 1 / 9

分配类型

学习不同类型的内存分配。

导入

分配类型

学习不同类型的内存分配。

简介

在 C++ 中,我们可以有两种方式来分配内存:

  • 静态分配
  • 动态分配

静态分配


在 静态分配 中,程序在执行前(编译时)就为变量或数组分配固定数量的内存,程序运行期间无法再请求额外的内存。


在静态分配中:

  • 我们必须在编译时就知道数组或变量的大小。
  • 内存由编译器负责分配和释放。

动态分配

有时你会遇到一种情况:事先不知道存储数据需要多少内存。这时就需要使用动态分配。

示例程序

假设你想从用户输入一个句子,但你并不知道所需数组的确切字符数量。

No configuration found for ID: f04bf1d0cd0d382ba33426f7d3193d5d52c6800ca8e93d7c84ec18d845436a8b

说明

  • 如果你初始化的数组字符数少于输入句子的实际长度,可能会导致错误。

  • 如果你初始化的数组字符数多于实际输入句子的长度,未使用的内存就会被浪费。

此时,动态分配就派上用场了。

动态分配

在动态分配中:

  • 程序运行期间可以按需获取任意数量的内存;
  • 内存由程序员在运行时手动分配和释放。

接下来深入探讨 C++ 中动态内存分配的细节。

指针

动态内存分配