複製鏈接
請複製以下鏈接發送給好友

常量

(編程語言)

鎖定
“常量”的廣義概念是:“不變化的量”(例如:在計算機程序運行時,不會被程序修改的量;數學函數中的某一個量,例如每一個具體的半徑直徑數值;物理學中的靠近地面的重力加速度真空中的光速數值;不同的微粒的各自的質量)換言之,常量,在計算機技術方面雖然是為了硬件、軟件編程語言服務,但是它並不是專門為硬件、軟件、編程語言而引入的概念。常量可區分為不同的類型,如:25、0為整型常量,6.8為實型常量,‘a’、‘b’為字符常量。常量一般從其字面形式即可判斷。這種常量稱為字面常量或直接常量。
在討論函數的值隨着自變量的關係發生(變大或者變小)改變時,函數中往往是有一個或者一個以上的常量,人們着重研究這些變化程度的規律, 往往是容易尋找到事物發展的規律在大腦中的正確反映。
對於‘常量’的通俗比喻是“如同大山不被輕而易舉地改變”。(當然,地球上的重力加速度海枯石爛也會改變;而人們使用的常量是時間不很漫長的那一段時期基本上不會改變的量。而真空狀態中的光速理論上不可改變,是常量)
中文名
常量
外文名
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’中的常量,分為‘文字常量’和‘符號常量’。
文字常量又分為 ‘字符串常量’ 和 ‘數值常量’。