变量,前世你也许是个过客!

很多书中喜欢将变量比喻成一个容器,比如盒子、碗之类的。但老金认为这个比喻有失妥当。按字面意思理解,变量只是一个可以改变的量,就像函数中的自变量x、因变量y一样。变量本身并不具有存储功能,有存储功能的是内存,所以老金认为把变量比喻成可以存储的容器有误导之嫌。

老金冥思苦想,想出一个自认为更合适的比喻。

可以把变量想象成一个要去存包的游客,而寄存柜就是内存。只要有空的柜子,谁都可以去寄存(这就是为什么叫变量)。类似地,只要内存有空间,哪个变量都可以用来存储数据。

比如老金(变量)去海边玩,需要寄存。老金首先要根据包的大小选择规格合适的柜子(定义变量的类型)。当完成寄存的一刹那,老金便和寄存柜的编号绑定了(在完成变量赋值的一刹那,变量也和变量地址绑定了),老金也就有了柜子的使用权(变量有了内存的使用权)。这个过程用代码表示就是:

int laojin=9527;

此时,老金这个存包人就是变量,“老金”这个名字自然就是变量名,老金存到柜子里的东西就是变量的值,而柜子的编号就是变量的地址,柜子的大小规格就相当于变量的类型。

老金可以随时改变柜子里存放在东西(改变变量的值),只要放得进去(赋值要符合变量的类型),老金随便往里面存什么都可以。

老金玩累了,要取包有两种方法,一种是根据老金的名字查到编号(哪怕是看一眼腕带上的编号),再根据编号找到柜子。一种是老金记得编号直接按编号找柜子。相应地,变量也有两种取值方法,一种是通过变量名取值,一种是通过变量地址取值。

在解除绑定关系之前,老金就一直对这个柜子有使用权,它是专属于老金的(这叫变量的生存期)。

老金在A店存了包,结果跑去B店取,那肯定是取不到的(这叫变量的作用域)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金创想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值