Lvalue e Rvalue 🇬🇧
Note a cura di Antonino Furnari - antonino.furnari@unict.it🔝
Università di Catania, Dipartimento di Matematica e Informatica
Note disponibili qui: http://www.antoninofurnari.github.iohttps://antoninofurnari.github.io/lecture-notes/it/programmazione-c/rvalue-lvalue/
In C, esistono due tipi di entità, lvalue
e rvalue
, che entrano in gioco nelle operazioni di assegnamento. Questi termini appaiono a volte nei messaggi di errore dati dal compilatore, per cui è utile comprenderli. Vediamoli nelle prossime sezioni.
Lvalue
Lvalue sta per “left value” (poiché può trovarsi a sinistra dell’operatore di assegnamento) ed è una entità che ha una locazione di memoria ben definita:
- In ogni operazioni di assegnamento, un
lvalue
deve possedere la capacità di memorizzare il risultato dell’operazione; - Non possono essere
lvalue
espressioni (es.x + y
o constanti letterali (es.3
).
Esempi:
|
|
Rvalue
Un rvalue
è una entità che non è associata a una ben definita locazione di memoria.
- Qualsiasi cosa che possa restituire una espressione costante o un valore è un lvalue;
- Espressioni del tipo
x + y
sonolvalue
.
Esempi:
|
|