知識總結 C C 左值 右值

2022-03-10 03:47:34 字數 559 閱讀 3879

左值(lvalue)和右值(rvalue)最先**於編譯。在c語言中表示位於賦值運算子兩側的兩個值,左邊的就叫左值,右邊的就叫右值。

c/c++語言中可以放在賦值符號左邊的變數,即具有對應的可以由使用者訪問的儲存單元,並且能夠由使用者去改變其值的量。或者說左值是代表乙個記憶體位址值,並且通過這個記憶體位址,就可以對記憶體進行讀並且寫(主要是能寫)操作,這也就是為什麼左值可以被賦值的原因了。相對應的還有右值:當乙個符號或者常量放在操作符右邊的時候,計算機就讀取他們的「右值」,也就是其代表的真實值,既指的是引用了乙個儲存在某個記憶體位址裡的資料簡單來說就是,左值相當於位址值,右值相當於資料值。

例如: int  ia,ib; ib=0;  ia=ib;

在這裡,首先定義ia,ib。然後對ib賦值,此時計算機取ib的左值,也就是這個符號代表的記憶體位置即記憶體位址值,計算機取0的右值,也就是數值0;然後給ia賦值為ib,此時取ib的右值給ia的左值; 所以說,ib的左值、右值是根據他的位置來說的;這也算是形式語言的乙個有意思之處吧。

C C 左值 右值及引用

目錄 c和c 中定義了引用型別 reference type 存在左值引用 lvalue reference 而在c 11中,新增了右值引用 rvalue reference 這一概念,雖然個人感覺右值引用用處不大,但在此一併討論。首先,我們討論左值和右值兩個概念。左值 lvalue 乙個標識非臨時...

左值 右值 左值引用 右值引用

2015 06 01 15 07 404人閱讀收藏 舉報 c 11 5 一 c 中的左值和右值 誤區 左值位於等號左邊,右值位於等號右邊。c 11中的定義 左值表示式表示的是乙個物件的身份 在記憶體中的位置 而右值表示式表示的是物件的值 內容 左值和右值都是針對表示式而言的,左值是持久的,右值是短暫...

左值 左值引用 右值 右值引用

1 左值和右值的概念 左值是可以放在賦值號左邊可以被賦值的值 左值必須要在記憶體中有實體 右值當在賦值號右邊取出值賦給其他變數的值 右值可以在記憶體也可以在cpu暫存器。乙個物件被用作右值時,使用的是它的內容 值 被當作左值時,使用的是它的位址。2 引用 引用是c 語法做的優化,引用的本質還是靠指標...