English
Language : 

CC78K4 Datasheet, PDF (46/523 Pages) NEC – CC78K4 Ver.2.30 or Later, C Compiler Language
CHAPTER 2 CONSTRUCTS OF C LANGUAGE
2.3.6 Compatible type and composite type
(1) Compatible type
If two types are the same, they are said to be compatible or have compatibility. For example, if two structures,
unions, or enumeration types that are declared in separate translation (compiling) units have the same number of
members, the same member name and compatible member types, they have a compatible type. In this case, the
individual members of the two structures or unions must be in the same order and the individual members
(enumerated constants) of the two enumerated types must have the same values.
All declarations related to the same objects or functions must have a compatible type.
(2) Composite type
A composite type is created from two compatible types. The following rules apply to the composite type.
• If either of the two types is an array of known type size, the composite type is an array of that size.
• If only one of the types is a function type which has a parameter type list (declared with a prototype), the
composite type is a function prototype that has the parameter type list.
• If both types have a parameter type list (i.e., functions with prototypes), the composite type is one with a
prototype consisting of all information that can be combined from the two prototypes.
[Example of composite type]
Assume that two declarations that have file scope are as follows.
int f (int (*) (), double (*) [3] ) ;
int f (int (*) (char *), double (*) [] );
The composite type of the function in this case becomes as follows.
int f (int (*) (char *), double (*) [3] ) ;
2.4 Constants
A constant is a variable that does not change in value during the execution of the program, and its value must be
set beforehand. The type for each constant is determined according to the format and value specified for the
constant. The following four constant types are available.
• Floating-point constants
• Integer constants
• Enumeration constants
• Character constants
46
User’s Manual U15556EJ1V0UM