Content deleted Content added
|
|
|
A value is the [[normal form (term rewriting)|normal form]] of an expression, which means that an expression that is a value can not be [[reduce]]d to a simpler expression. For example, the value of the expression "1 + 2" is "3", which cannot any longer be reduced to a simpler expression.
fuck encyclopedia
==In C: lvalues and rvalues==
Some languages use the idea of '''lvalues''' and '''rvalues'''. Lvalues are values that have [[memory address|addresses]], meaning they are variables or dereferenced references to a certain memory location. Rvalues are non-lvalues—a term only used to distinguish from lvalues. In C, the term lvalue originally meant something that could be assigned to (coming from left-value, indicating it was on the left side of the assignment operator), but since 'const' was added to the language, this now is termed a 'modifiable lvalue'.
The lvalue expression designates (refers to) an object. A non-modifiable lvalue is addressable, but not assignable. A modifiable lvalue allows the designated object to be changed as well as examined. An rvalue is any expression that is not an lvalue. It refers to a data value which is "immediate value" (look below) and consequently not addressable.
The notion of lvalues and rvalues was introduced by [[Combined Programming Language|CPL]].
== In assembly language ==
|