An lvalue (pronounced "el-value")
is an expression that refers to a region of storage that can be
manipulated.
For example, all simple variables, like ints
and floats are
lvalues. An element of an array is also an lvalue; however an entire
array is not. A member of a structure or union is an lvalue; an
entire structure or union is not.
Given the following declarations:
int *p, a, b; int arr[4]; int func(); a /* lvalue */ a + b /* Not an lvalue */ p /* lvalue */ *p /* lvalue */ arr /* lvalue, but not modifiable */ *(arr + a) /* lvalue */ arr[a] /* lvalue, equivalent to *(arr+a) */ func /* Not an lvalue */ func() /* Not an lvalue */
|