如图所示:计算机内存可以看作是一系列小文件柜,每个文件柜由许许多多排成一列的小格子组成,每一个格子都编了号,这些编号就是内存地址,变量一般放置在一个或者多个格子里,每个格子都可存储一个值。变量名(例如variable)是贴在这些文件柜上的一个标签,用户可以通过变量名,无需知道变量的具体地址就可以方便地查找到变量。
当你运行一个程序时,程序自动将一部分数据从磁盘文件上加载到随机存储器上(也叫RAM),所有变量都在RAM中生成,程序员在谈到内存时通常都是指RAM。RAM不能讲数据和变量永久地保存在内存上,因此当程序运行结束或者断电后,这些数据和变量便从内存中释放或者丢失。
由于内存的这种特性,因此当我们定义一个变量时,我们必须告诉编译器该变量时什么类型,是整形,字符型,还是其他类型,编译器将根据我们定义的类型自动为变量预留出空间,然后做好放置该种类型的值的准备。每个搁架是一个字节,如果我们定义的变量类型占2个字节,则它需要2个字节内存,也就是2个格子。