1)名字VS值 名字和記憶體(存儲)位置相關聯。 名字—(環境)———>位置——(狀態)——>值 這兩個映射都在隨著程式的運行而改變。 2)環境VS狀態 環境是指一個名字到存儲位置映射,也可以說是名字到變數(左值)的映射,環境的改變需要遵守語言的作用於與規則; 狀態是一個從記憶體位置到它的值的映射,即把 ...
1)名字VS值
名字和記憶體(存儲)位置相關聯。
名字—(環境)———>位置——(狀態)——>值
這兩個映射都在隨著程式的運行而改變。
2)環境VS狀態
環境是指一個名字到存儲位置映射,也可以說是名字到變數(左值)的映射,環境的改變需要遵守語言的作用於與規則;
狀態是一個從記憶體位置到它的值的映射,即把左值映射為相應的右值。
3)靜態綁定VS動態綁定
大部分名字到位置的綁定是動態的;
從位置到值的綁定一般也是動態的。
常量聲明是個例外。
4)名字VS標識符
標識符是一個字元串,通常由字母和數字組成,用來指向(標記)一個實體,比如數據對象、過程、類或類型。
所有的標識符都是名字,名字不全是標識符:
名字可以是一個受限名字(包)
x.y可以表示結構變數x中的y成員,x 和y都是標識符,但x.y不是標識符。
4)變數
指向存儲中某個特定的位置。