1. 程式人生 > >字面量,常量和變數之間的區別?

字面量,常量和變數之間的區別?

經常看到這三者,基本每天作為一個程式媛的我,都和這三者在打著交道。之前每個都會使用,但是這樣的來區別三者之間的關係還是第一次。從定義到實際例子,這次全面搞清楚,以後就省的定義混淆。

那麼我就首先來看了例子,有個大致的瞭解,再去看那些生硬的定義。

c/c++ code

int a; //變數
const int b = 10; //b為常量,10為字面量
string str = “hello world!”; // str 為變數,hello world!為字面量

看完這個例子,我相信大家都會說,啊,可不就是這樣嗎?這其中可能稍微有點不太理解的就是字面量。像常量啊,變數啊,

字面量

在電腦科學中,字面量(literal)是用於表達原始碼中一個固定值的表示法(notation)。幾乎所有計算機程式語言都具有對基本值的字面量表示,諸如:整數、浮點數以及字串;而有很多也對布林型別和字元型別的值也支援字面量表示;還有一些甚至對列舉型別的元素以及像陣列、記錄和物件等複合型別的值也支援字面量表示法。
–百度百科

有個不太好,但是足以說明問題的解釋,那就是 物件字面量就是引號引起來的部分,必須是等號右邊的部分。雖然這樣的解釋不太好,但是確實如此,這就是字面量。

const int b = 10; //b為常量,10為字面量
string str = “hello world!”; // str 為變數,hello world!為字面量

變數

有些資料在程式執行中可以變化或者被賦值,這稱為變數。

int a; //變數

常量

有些資料可以在程式使用之前預先設定並在整個執行過程中沒有變化,這稱為常量。

const int b = 10; //b為常量,10為字面量

變數與常量的區別

它們在記憶體中的儲存方式是一樣的。只是常量不允許改變,就像只讀檔案一樣。

變數、常量與字面量的區別

字面量是指由字母,數字等構成的字串或者數值,它只能作為右值出現,(右值是指等號右邊的值,如:int a=123這裡的a為左值,123為右值。)

常量和變數都屬於變數,只不過常量是賦過值後不能再改變的變數,而普通的變數可以再進行賦值操作。