把存储器保存在大脑里
栈
这是存储器用来保存局部变量的部分。每当调用函数,函数的所有局部变量都在栈上创建。它之所以叫栈是因为它看起来就像堆积而成的栈板:当进入函数时,变量会放到栈顶;离开函数时,把变量从栈顶拿走。奇怪的是,栈做起事来颠三倒四,它从存储器的顶部开始,向下增长。
堆
我们还没有用过这部分的存储器,堆用于动态存储:程序在运行时创建一些数据,然后使用很长一段时间,稍后会看到堆的用法。
全局量
全局量位于所有函数之外,并对所有函数可见。程序一开始运行时就会创建全局量,你可以修改它们,不像……
常量
常量也在程序一开始运行时创建,但它们保存在只读存储器中。常量是一些在程序中要用到的不变量,你不会想修改它们的值,例如字符串字面值。
代码
最后是代码段,很多操作系统都把代码放在存储器地址的低位。代码段也是只读的,它是存储器中用来加载机器代码的部分。