English
Language : 

CC78K0S Datasheet, PDF (74/520 Pages) NEC – C Compiler Ver.1.30 or Later Language
CHAPTER 4 TYPE CONVERSIONS
4.2 Other Operands
(1) Left-side values and function locators
A left-side value refers to an expression that specifies an object (and has an incomplete type other than object
type or void type).
Left-side values that do not have array types, incomplete types, or const qualifier types, and structures or unions
which have no const qualifier type members are “modifiable left-side values”.
A left-side value which has no array type will be converted to a value stored in the object to be specified, except
when it is the operand of the sizeof operator, unary & operator, ++ operator, or - - operator or the left operand of
an operator or an assignment operator. By being converted, it will no longer serve as a left-side value.
The behavior of left-side values that have incomplete types but no array types will not be guaranteed.
A left-side value which has an “... array” type except character arrays will be converted to an expression which
has a “pointer to ...” type. This expression is no longer a left-side value.
A function locator is an expression that has a function type. With the exception of the operand of the sizeof
operator or unary & operator, a function locator that has a “function type that returns ...” will be converted to an
expression that has a “pointer type to a function that returns ...”.
(2) void
The value (non-existent) of a void expression (i.e., an expression that has the void type) cannot be used in any
way. Neither implicit nor explicit conversion to exclude void will be applied to this expression. If an expression
of another type appears in the context which requires a void expression, the value of the expression or specifier
is assumed to be non-existent.
(3) Pointers
A void pointer can be converted to a pointer to any incomplete type or object type. Conversely, a pointer to any
incomplete type or object type can be converted to a void pointer. In either case, the result value must be equal
to that of the original pointer.
An integer constant expression which has the value of 0 and has been cast to the void * type is referred to as a
“null pointer constant”. If the null pointer constant is substituted with, equal to, or compared with some pointer,
the null pointer constant will be converted to that pointer.
74
User’s Manual U14872EJ1V0UM