众所周知,数据类型其实只对人有意义,数据在机器里存储,就是连续的0和1,机器本身不会区分所谓的数据类型。
而编程语言里数据类型的意义,就是如何用0和1来表示不同的数据类型,以及如何把不同数据类型的运算转换成0和1的运算。
所以对任何一种具有数据类型的变量来说,其本质就是变量长度加运算规则。
而指针,其长度,由编译器和系统决定。
至于运算规则,最难的无非就是指针的加减和取地址、访问指针。
引用类型是对已经定义的变量的引用,就相当于有两个变量指向同一个空间。
** 引用在第一次赋值之后与被引用变量几乎没有差别,所有运算规则相同,长度也一样,所以可以和原变量一样使用。 **
引用的第一次赋值:
所以,利用引用第一次赋值的特性,引用经常用来作为参数,在传递参数时,引用被第一次赋值,成功引用外部的变量,而在函数内部,引用和普通变量几乎没有差别,可以省去类似C中一系列复杂的指针操作。