P. 1
C Language Reference Manual - 5th Edition

C Language Reference Manual - 5th Edition


|Views: 8,347|Likes:
Published by ioana

More info:

Published by: ioana on May 23, 2009
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





An object is a manipulatable region of storage. An lvalue is an expression referring to
an object. An obvious example of an lvalue expression is an identifier. Some
operators yield lvalues. For example, if E is an expression of pointer type, then *E is
an lvalue expression referring to the object to which E points. The term lvalue comes
from the term “left value.” In the assignment expression E1 = E2, the left operand
E1 must be an lvalue expression.

Most lvalues are modifiable, meaning that the lvalue may be used to modify the
object to which it refers. Examples of lvalues that are not modifiable include array
names, lvalues with incomplete type, and lvalues that refer to an object, part or all of
which is qualified with const (see "Type Qualifiers", page 77). Whether an lvalue
appearing in an expression must be modifiable is usually obvious. For example, in the
assignment expression E1 = E2, E1 must be modifiable. This document makes the
distinction between modifiable and unmodifiable lvalues only when it is not obvious.



Chapter 5

Operator Conversions

A number of operators can, depending on the types of their operands, cause an
implicit conversion of some operands from one type to another. The following
discussion explains the results you can expect from these conversions. The
conversions demanded by most operators are summarized in "Arithmetic
Conversions", page 45. When necessary, a discussion of the individual operators
supplements the summary.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->