Type-Specifier
The following table lists the valid type-specifiers:
void | an empty or NULL value. |
char, signed char | a variable to store a basic character in the character set. The value is either signed or non- negative. |
unsigned char | Same as char, but unsigned values only. |
short, signed short, short int, signed short int | a 16-bit short signed integer. |
unsigned short, unsigned short int | an unsigned short integer. |
int, signed, signed int, long, signed long, long int, signed long int, or no type specifier | a 32 bit signed integer. If no type specifier is given, then this is the default. |
unsigned long, unsigned long int, unsigned int, unsigned | same as int, but unsigned values only. |
long long, signed long long | a 64 bit signed integer. |
unsigned long long | same as long long, but unsigned values only. |
float | a floating-point number. Consists of a sign, a mantissa (number greater than or equal to 1), and an exponent. The mantissa is taken to the power of the exponent and then given the sign. The exponent is also signed allowing extremely small fractions. The mantissa gives it a finite precision. |
double | a more accurate floating-point number than float. Normally twice as many bits in size as float. Size depends on platform and application. |
long double | increases the size of double. |
The following table shows the minimum and maximum ranges of the various data types with their type-specifiers for most platforms.
Type | Size | Range |
unsigned char | 8 bits | 0 to 255 |
char | 8 bits | -128 to 127 |
unsigned short | 16 bits | 0 to 65,535 |
short int | 16 bits | -32,768 to 32,767 |
int | 32 bits | -2,147,483,648 to 2,147,483,647 |
unsigned long | 32 bits | 0 to 4,294,967,295 |
long | 32 bits | -2,147,483,648 to 2,147,483,647 |
long long | 64 bits | –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
unsigned long long | 64 bits | 0 to 18,446,744,073,709,551,615 |
float | 32 bits | 1.17549435 * (10^-38) to 3.40282347 * (10^+38) |
double | 64 bits | 2.2250738585072014 * (10^-308) to 1.7976931348623157 * (10^+308) |
long double | 80 bits | 3.4 * (10^-4932) to 1.1 * (10^4932) |