1)名字VS值
名字和内存(存储)位置相关联。
名字—(环境)———>位置——(状态)——>值
这两个映射都在随着程序的运行而改变。
2)环境VS状态
环境是指一个名字到存储位置映射,也可以说是名字到变量(左值)的映射,环境的改变需要遵守语言的作用于与规则;
状态是一个从内存位置到它的值的映射,即把左值映射为相应的右值。
3)静态绑定VS动态绑定
大部分名字到位置的绑定是动态的;
从位置到值的绑定一般也是动态的。
常量声明是个例外。
4)名字VS标识符
标识符是一个字符串,通常由字母和数字组成,用来指向(标记)一个实体,比如数据对象、过程、类或类型。
所有的标识符都是名字,名字不全是标识符:
名字可以是一个受限名字(包)
x.y可以表示结构变量x中的y成员,x 和y都是标识符,但x.y不是标识符。
4)变量
指向存储中某个特定的位置。