量?常量:变量

本文探讨了从编译后的程序角度看常量与变量的区别。常量是在编译前设定并不可更改的数值;变量则存放于数据区,可被程序修改。此外还讨论了某些看似常量但实质上仍可视为变量的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从编译后程序的角度看,常量和变量是有非常大的区别的。

常量其实是一些数值。这些值是需要在编译前被设定,然后就不需要也不能被更改。其内容无非就是环境和人根据某些约束设定的一些值。

而变量则是会被单独设计,并放如数据区。这些值会被程序修改,并且被程序设计者命名。

另外还有一些量,也是存在于数据区,但是不会被普通的程序修改,也会被程序员命名。他们会被不同的语言命名为不同的东西,并被不同的修饰符修饰。但是本质上他们还是变量。这些量我举个例子,比如游戏里面的难度,很多就是被设置为一个数或者一个字符串,如果你动态的使用某种办法,比如修改器等等,修改之后,游戏的难度就会发生变化。

但是我们从实际的角度看其实根本就不存在什么常量,因为他们从本质上是一些数或者值,在编译前会被具体的值或者数替代。而运行的时候也不会存在于内存中。

于是所有的量就都是变量了。

但是这个变量就真的是在变吗?答案是否定的,实际上如果是函数化语言,基本上这个变量被赋值一次之后就不会被再次赋值了。这一点在很多人是不可思议的,但是在我看又是完全合理的必然。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值