|
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
|
▷ |