The data type of an object must be specified in its declaration.
The fundamental data types are the scalar types:
short int 16-bit signed integer
signed short int 16-bit signed integer
unsigned short int 16-bit unsigned integer
int 32-bit signed integer
signed int 32-bit signed integer
unsigned int 32-bit unsigned integer
long int 32-bit signed integer
signed long int 32-bit signed integer
unsigned long int 32-bit unsigned integer
long long int 64-bit signed integer
signed long long int 64-bit signed integer
unsigned long long int 64-bit unsigned integer
char 8-bit signed integer
signed char 8-bit signed integer
unsigned char 8-bit unsigned integer
wchar_t Long character (32-bit unsigned integer)
float 32-bit (single-precision) floating-point number
double 64-bit (double-precision) floating-point number
long double 128-bit (double-precision) floating-point
number
long float Interchangeable with double, but usage is
obsolete
_Bool An unsigned int that has the value 0 or 1
_Imaginary A C99-specified data type. In VSI C, use of
the _Imaginary keyword produces a warning,
which is resolved by treating it as an ordinary
identifier.
_Complex C99-specified data type available in all three
precisions: float _Complex, double _Complex,
or long double _Complex. A complex type has
the same representation and alignment
requirements as an array type containing
exactly two elements of the corresponding real
type; the first element is equal to the real
part, and the second element to the imaginary
part, of the complex number.
Note: This complex data type is similar to the
Fortran type, and has an associated header
file, <complex.h>. Although the fundamental
complex data types are implemented in the
compiler, the run-time support will not be
available until an OpenVMS Alpha release
following Version 7.3.
The signed keyword is the default. Declaring an object with int,
for example, is equivalent to declaring it with signed int.
However, char declarations should be explicitly declared, as the
compiler offers command-line options to change the default. If in
doubt, use signed char over char because signed char is more
portable.
Strings are arrays of characters terminated by the null character
(\0).
Also, view the contents of the <ints.h> header file for definitions
of platform-specific integer types.
Additional Information:
explode
extract