DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Complying with standard C

Types for lvalues

const and volatile are part of an identifier's type, not its storage class. However, they are peculiar in that they are often removed from the top-most part of the type. This occurs when an object's value is fetched in the evaluation of an expression -- exactly at the point when an lvalue becomes an rvalue. (These terms arise from the prototypical assignment "L=R"; in which the left side must still refer directly to an object (an lvalue) and the right side need only be a value (an rvalue).) Therefore, only expressions that are lvalues can be qualified by const or volatile or both.


Next topic: Type qualifiers in derived types
Previous topic: Using const and volatile

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003