經(jīng)常看到這三者,基本每天作為一個程序媛的我,都和這三者在打著交道。之前每個都會使用,但是這樣的來區(qū)別三者之間的關(guān)系還是第一次。從定義到實際例子,這次全面搞清楚,以后就省的定義混淆。
那么我就首先來看了例子,有個大致的了解,再去看那些生硬的定義。
c/c++ code
int a; //變量
const int b = 10; //b為常量,10為字面量
string str = “hello world!”; // str 為變量,hello world!為字面量
看完這個例子,我相信大家都會說,啊,可不就是這樣嗎?這其中可能稍微有點不太理解的就是字面量。像常量啊,變量啊,
字面量
在計算機科學(xué)中,字面量(literal)是用于表達源代碼中一個固定值的表示法(notation)。幾乎所有計算機編程語言都具有對基本值的字面量表示,諸如:整數(shù)、浮點數(shù)以及字符串;而有很多也對布爾類型和字符類型的值也支持字面量表示;還有一些甚至對枚舉類型的元素以及像數(shù)組、記錄和對象等復(fù)合類型的值也支持字面量表示法。
--百度百科
有個不太好,但是足以說明問題的解釋,那就是 對象字面量就是引號引起來的部分,必須是等號右邊的部分。雖然這樣的解釋不太好,但是確實如此,這就是字面量。
const int b = 10; //b為常量,10為字面量
string str = “hello world!”; // str 為變量,hello world!為字面量
變量
有些數(shù)據(jù)在程序運行中可以變化或者被賦值,這稱為變量。
int a; //變量
常量
有些數(shù)據(jù)可以在程序使用之前預(yù)先設(shè)定并在整個運行過程中沒有變化,這稱為常量。
const int b = 10; //b為常量,10為字面量
變量與常量的區(qū)別
它們在內(nèi)存中的存儲方式是一樣的。只是常量不允許改變,就像只讀文件一樣。
變量、常量與字面量的區(qū)別
字面量是指由字母,數(shù)字等構(gòu)成的字符串或者數(shù)值,它只能作為右值出現(xiàn),(右值是指等號右邊的值,如:int a=123這里的a為左值,123為右值。)
常量和變量都屬于變量,只不過常量是賦過值后不能再改變的變量,而普通的變量可以再進行賦值操作。