C 中的左值和右值

2021-09-21 06:58:27 字數 426 閱讀 3846

在《c和指標》中(p79)有這樣介紹過左值和右值:

左值:標識了乙個可以儲存結果值的地點。

右值:(結果可以是)乙個值。(這裡我做了點修改)

結合作者在後面(p100-p101)對指標表示式的進一步介紹後,我覺得應該這樣定義左值:可以儲存結果值的明確的地點

直接上**解釋

#includeint main()
我之所以會有這樣的理解是因為在《c和指標》這本書中(p100)是這樣解釋的(原文):當表示式&ch進行求值時,它的結果應該儲存於計算機的什麼地方呢?它肯定會位於某個地方,但你無法知道它位於何處。這個表示式並未標識任何機器記憶體的特定位置,所以它不是乙個合法的左值。

如果覺得我的理解是錯誤的或者有更好的理解,還請大神指正。多謝。

C 中的左值和右值

1.概念變數和文字常量都有儲存區,並且有相關的型別,區別在於變數是可定址的 對於每個變數,都有2個值與其相關聯 1 資料值,儲存在某個記憶體位址中,也稱右值 rvalue 右值是被讀取的值 read value 文字常量和變數都可被用於右值。2 位址值,即儲存資料值的那塊記憶體位址,也稱左值 lva...

c 中的左值和右值

左值 lvalue 右值 rvalue 是 c c 中乙個比較晦澀的概念,有的人可能甚至沒有聽過,但這個概念到了 c 11 後卻變得十分重要,它們是理解move forward 等新語義的基礎。左值與右值這兩概念是從c中傳承而來的,在c中,左值指的是能夠出現在等號左邊及右邊的變數 表示式 右值則指的...

C 中的左值和右值

左值 lvalue 應該被解釋被location value,即可被定址的值 右值 rvalue 應該被解釋為read value,即唯讀的值,而不能被定址 這樣理解應該更為準確一點 通俗的講,左值就是能夠出現在賦值符號左面的東西,而右值就是那些可以出現在賦值符號右面的東西了。舉個很簡單的例子 a ...