A data type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data. In another word you can say that it defines the size (BYTE) and the range of a variable.
Classification of the data types in C language
1. Pre-define data types
2. User define data types
Pre-define data types in C:
Already define by the C standard, these are int, char, float, double, …etc. Using the sizeof operator you can get the size of (in bytes) data types. These data types are dependent on the platform so C standard also introduces the fixed size of data type like uint8_t, uint16_t uint32_t …etc. These are defined in stdint.h header file for more detail you check this header file.
User-defined data types in C:
You can check out,
In C language, different data types have the different ranges. The range varies from compiler to compiler. In below table, I have listed some data types with there ranges and format specifier as per the 32-bit GCC compiler.
Data Type Memory (bytes) Range Format Specifier
short int 2 -32,768 to 32,767 %hd
unsigned short int 2 0 to 65,535 %hu
unsigned int 4 0 to 4,294,967,295 %u
int 4 -2,147,483,648 to 2,147,483,647 %d
long int 4 -2,147,483,648 to 2,147,483,647 %ld
unsigned long int 4 0 to 4,294,967,295 %lu
long long int 8 -(2^63) to (2^63)-1 %lld
unsigned long long int 8 0 to 18,446,744,073,709,551,615 %llu
signed char 1 -128 to 127 %c
unsigned char 1 0 to 255 %c
float 4 - %f
double 8 - %lf
long double 12 - %Lf