|
|
coherent
lvalue Definition lvalue
An lvalue is an expression that designates a region of storage.
The name comes from the assignment expression e1=e2;, in which
the left operand must be an lvalue.
An identifier has both an lvalue (its address) and an rvalue (its
contents). Some C operators require lvalue operands; for ex-
ample, the left operand of an assignment statement must be an
lvalue. Some operators give lvalue results; for example, if e is
a pointer expression, *e is an lvalue that designates the object
to which e points.
A _v_a_r_i_a_b_l_e can be used as an lvalue, whereas a constant cannot.
For example, you cannot say
6 = (foo+bar);
A pointer is a variable, and can be manipulated within limits.
An array name, however, is a constant and cannot be altered
legally. Thus, the code
int foo[10];
int *bar;
foo = bar;
will generate an error message when you attempt to compile it,
whereas
int foo[10];
int *bar;
bar = foo;
will not.
The following example shows the use of both an lvalue and a
rvalue:
int i, *ip;
ip = &i; /* ip is an lvalue, i and &i are rvalues */
i = 3; /* i is an lvalue, 3 is an rvalue */
*ip = 4; /* *ip is an lvalue, 4 is an rvalue */
***** See Also *****
definitions, rvalue
COHERENT Lexicon Page 1
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.