介绍变量的六个属性
时间:2011-03-02 09:11来源:博客园 作者: 点击:
次
介绍变量的六个属性,程序员基础知识:
变量 是机器存储单元在语言中的抽象。它是编程语言最重要的概念之一。
变量有6个属性(或者说从6个方面去描述变量)
名字/别名
地址/左值
值/右值
类型
作用域
生存期/生命期
1,名字/别名
名字的概念在 名字
介绍变量的六个属性,程序员基础知识:
变量 是机器存储单元在语言中的抽象。它是编程语言最重要的概念之一。
变量有6个属性(或者说从6个方面去描述变量)
名字/别名 地址/左值 值/右值 类型 作用域 生存期/生命期
1,名字/别名
名字的概念在 名字/标识符 已经提到。 当多个名字访问的都是同一个存储地址时(或者说多个名字都 绑定/约束 于同一个存储地址),可称这些名字为 别名。 使用别名有损于程序的可读性,然而却很难从一门语言中完全消除。如下
Java view sourceprint? 1 public static void main(String[] args) { 2 String name = "jack"; 3 String alias = name; 4 name = "lily"; 5 6 System.out.println(name); 7 System.out.println(alias); 8 }
Javascript view sourceprint? 1 var name = 'jack'; 2 var alias = name; 3 name = 'lily'; 4 alert(name); 5 alert(alias);
可以看到变量alias作为name的别名,都指向同一个地址,值为“jack”。但当name发生变化后,alias却全然不知。 许多语言中,子程序的参数也可产生别名现象。
2,地址/左值
计算机中所有的数据都是存放在存储器中的,一般把存储器中的一个字节称为一个存储单元。为了正确的访问这些 存储单元,需要为每个存储单元编个号。根据编号即可准确的找到该内存单元。内存单元的编号就称为 地址 。
在许多语言中,程序中同一个 名字/标识符 可以在不同的时间,与不同的 地址 关联/绑定 。 变量的地址有时也称为变量的左值(left value),或许是因为各种语言中变量经常位于赋值语句的左边。
String name = 'jack'; // Java var name = 'jack'; // JavaScript
又或许在地址图上编号总是位于左边,值总是在右边 名字 与 地址 的 关联/绑定 后续会提到。
(责任编辑:admin) |
织梦二维码生成器
------分隔线----------------------------