27-关键概念
12.6 关键概念
C提供多种管理内存的模型。除了熟悉这些模型外,还要学会如何选择不同的类别。大多数情况下,最好选择自动变量。如果要使用其他类别,应该有充分的理由。通常,使用自动变量、函数形参和返回值进行函数间的通信比使用全局变量安全。但是,保持不变的数据适合用全局变量。
应该尽量理解静态内存、自动内存和动态分配内存的属性。尤其要注意:静态内存的数量在编译时确定;静态数据在载入程序时被载入内存。在程序运行时,自动变量被分配或释放,所以自动变量占用的内存数量随着程序的运行会不断变化。可以把自动内存看作是可重复利用的工作区。动态分配的内存也会增加和减少,但是这个过程由函数调用控制,不是自动进行的。