Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > C Code > Generating C Code > Overview of generating C code (C code) > Overview of modeling C code (C code) > Overview of modeling C code (C code) > Basic type mapping for C (C code)
  
Basic type mapping for C (C code)
The mapping of basic types is defined through the [Datatype Mappings] section of the C_Sync.ini file, which resides in the 'PTC Integrity Modeler\Modeler\System\C_Sync' folder. If you create a basic type in the Model, you may have to map it to a C type in the C_Sync.ini file:
If the Basic Type name does not contain spaces and its case is as you want it generated, you do not have to map the Basic Type to a C type.
If the Basic Type name needs to be generated as a different type, you must map the Basic Type to a C type. For example, boolean=int.
If the Basic Type name contains spaces, you must map the Basic Type to a C type. You can map a Basic Type name to itself, for example, unsigned int=unsigned int. Failure to do so results in spaces being generated as underscores.
If the Basic Type name has the wrong case, you must map the Basic Type to a C type with the correct case specified. For example, Short=short.
C_Sync.ini is installed with the following data type mappings defined (the basic type name to the left of the equals sign is not case sensitive, the C name to the right of the equals sign is case sensitive):
; boolean=_Bool - use this for C99
_Complex=_Complex
_Imaginary=_Imaginary
any=void*
boolean=int
char=char
Date=long
double=double
float=float
int=int
Integer=int
long double=long double
long int=long int
long long int=long long int
long long=long long
long=long
octet=int
short int=short int
short=short
signed char=signed char
signed int=signed int
signed long int=signed long int
signed long long int=signed long long int
signed long long=signed long long
signed long=signed long
signed short int=signed short int
signed short=signed short
String=char*
unsigned char=unsigned char
unsigned int=unsigned int
unsigned long int=unsigned long int
unsigned long long int=unsigned long long int
unsigned long long=unsigned long long
unsigned long=unsigned long
unsigned short int=unsigned short int
unsigned short=unsigned short
void=void
If a data type is not defined, ACS uses the default specified in the [Datatype Default] section of the C_Sync.ini file.