栈和堆#

本阶段将讨论如何在程序中管理各种不同的内存类型。理解这个问题可以帮助我们更好地理解以下几个问题:

  • 如何使用指针高效地传递数据

  • 介绍堆/栈的概念,掌握动态内存管理技术

关于程序如何有效地管理所有类型的内存数据,目前为止,我们已经了解两种技术,即数组和指针。通过数组,可以存储一个信息列表;通过指针,可以传递数据的地址而不是数据本身。

接下来我们将要了解栈内存是如何帮助我们管理内存的,以及如何通过堆内存来手动管理内存。栈和堆这两种管理方式都有他们各自的优缺点,这在工程上称之为权衡(tradeoff)。如何理解内存管理之间的细微差别至关重要,也是本阶段的学习目标!