所有计算机都配有内存,也称RAM(随机存取存储器)。比如您的计算机现在可能配有16、32或64兆字节的RAM。RAM用于存储计算机正在执行的程序以及程序使用的数据(即程序的变量和数据结构)。内存可以看作是一个简单的字节数组。在这个数组中,每个内存单元都有自己的地址:第一个字节的地址是0,后面依次是1、2、3,等等。内存地址相当于普通数组的下标。计算机可以随时访问内存的任何位置(所以称为“随机存取存储器”)。根据需要,多个字节可以组合起来构成较大的变量、数组和结构体。例如,一个浮点型变量占用4个连续字节的内存空间。您可以像下面这样在程序中声明一个全局变量:
float f;
上面这条语句的意思是说:“声明一个名为f的可以保存一个浮点值的内存位置。”程序执行的时候,计算机就会在内存中某个位置为变量f预留空间。这个位置在内存空间中有确定的地址,如下图所示:
变量f在内存某处占用四个字节的空间。此位置有确定的地址,本例中是248,440。
您认为的变量f在计算机看来就是一个具体的内存地址(如248,440)。因此,当您写下这样的语句时:
f=3.14;
编译器可能把它翻译成:“将数值3.14装入到内存地址是248,440的位置。”计算机总是通过操作地址和操作地址的值来使用内存的。