-
常量
(編程語言)
鎖定
- 中文名
- 常量
- 外文名
- constant
- 類 別
- 編程
- 釋 義
- 不會被人為修改的量
- 詞 性
- 名詞
常量誤區
“常量”在計算機領域的另一層含義是它們的編碼方法是不變的(但是嚴格來説‘人為規定的某一種方法也可以因地制宜而人為改變,所以其本身數值大小‘不是‘常量’的內涵’),比如字符'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’中的常量,分為‘文字常量’和‘符號常量’。
文字常量又分為 ‘字符串常量’ 和 ‘數值常量’。