English
Language : 

CC78K4 Datasheet, PDF (69/523 Pages) NEC – CC78K4 Ver.2.30 or Later, C Compiler 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
that have no const qualifier type members are “modifiable left-side values”.
A left-side value that 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 have no array types is not guaranteed.
A left-side value that has an “... array” type except character arrays will be converted to an expression that 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 a context that 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 that 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.
User’s Manual U15556EJ1V0UM
69