常量(不会被人为修改的量)
VLoG
次浏览
更新时间:2023-07-19
小编整理:
常量是一个在计算机程序中保持不变的量。它通常被用来表示某种固定不变的值,例如圆的半径、直径数值、重力加速度、光速等等。在程序运行时,常量通常被用来存储固定的数据,而不会随着程序的执行而改变。 在硬件和软件方面,常量被用于定义各种参数和属性,例如常数、寄存器、端口、指令等等。常量在编程语言中也有不同的表示方式,例如用关键字定义常量、使用变量名来代表常量等等。 总之,常量是一个非常重要的概念,在计算机程序和系统中都扮演着重要的角色。它使得程序更加可靠、可维护,并且减少了程序中的错误和漏洞。常量
不会被人为修改的量
错误解释
另一层含义指它们的编码方法是不变的(但是严格来说‘人为规定的某一种方法也可以因地制宜而人为改变,所以其本身数值大小‘不是‘常量’的内涵’),比如字符'A'无论在硬件、软件还是各种编程语言中,它的信息编码即为 ‘ 0x41’。
在除了‘C/C++’的一些高级程序语言中,‘常量’可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。
但在 ‘C/C++语言中’,‘常量’如果还用‘运行过程中不变的量’来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。在 ‘C/C++’中,定义‘指针常量’时,根据‘const ’的位置的不同,可以定义出几个不同的形式,虽然其看起来‘符合常量的概念’,但是在实际运行中,其值或地址值是会发生变化的。所以本质还不是‘常量概念’
案例
下面举几个C语言的例子做参考:
int *p; /* 定义的是变量 */
int const *p; /* 定义的就是常量 */
int * const p; /* 定义的还是常量 */
在上面定义的两个‘常量’的句子中,都符合常量的定义,但是其值是有变化的。所以其本质不是‘常量’
前者内涵是表示,定义的“指针常量”所指向的整数是不变的,在初始化时,指针变量假如指向地址为‘1000’的变量a,这个a的值是固定不变的,但是指针常量p的值,(即地址值)可以向上、向下移动而指向不同的变量。这就是与常量概念相违背了。
后者是表示指针常量的地址值不变的,但是其所指向的整数是可以变化的,同样与上述的定义相违背。
vb中的常量问题:
在某些特定的情况下,虽然声明了一个‘变量’,但人们却不希望这个数值被按照‘变量’定义而修改,这种人为的可以被修改却永不会去修改的‘量’,也可以称为‘常量’。其的特点是‘永远不被人为改变’,当然与‘光速不变’表面上一样却是人为的可以被改变的东西。逻辑学中,概念必须避免混淆。对于‘ vb中的常量’应该另外定义(例如修改为‘ vb中的伪常量’。“伪常量”只是标记,表明可人为改变,但方法本身并无优劣之分)
简单地说,就是在某一个程序运行时,其中某一个因素的数值要认为固定起来的量。‘Visual Basic’中的常量,分为‘文字常量’和‘符号常量’。文字常量又分为 ‘字符串常量’ 和 ‘数值常量’。