Data types in C: It is the collection of data with values having a fixed meaning as well as characteristics. There are various data types in C language.
C Data Types Uses
- Identify the type of a variable when it is declared.
- Gives return value of a function
- Describes the type of parameter expected by a function.
Data Types in C Language
C provides 3 types of data types. They are as follows:
- Primary (Built-in) Data types: void, int, char, float and double.
- Derived data types: Arrays, References, and Pointers.
- User Defined Data types: Structure, Union and Enumeration.
1) Primary Data types
Integer Data Type in C: Integers are used to store a whole number.
Size and range of Integer type on a 16-bit machine
Type | Size (bytes) | Range |
---|---|---|
int or signed int | 2 | -32,768 to 32767 |
unsigned int | 2 | 0 to 65535 |
short int or signed short int | 1 | -128 to 127 |
unsigned short int | 1 | 0 to 255 |
long int or signed long int | 4 | -2,147,483,648 to 2,147,483,647 |
unsigned long int | 4 | 0 to 4,294,967,295 |
Floating Point Data Type in C
Floating Point data types are used to store real numbers.
Size and range of Floating type on a 16-bit machine
Type | Size(bytes) | Range |
---|---|---|
float | 4 | 3.4E-38 to 3.4E+38 |
double | 8 | 1.7E-308 to 1.7E+308 |
long double | 10 | 3.4E-4932 to 1.1E+4932 |
And the header file float.h defines macros that allow you to use these values and other details about the binary representation of real numbers in your programs.
Example
#include <stdio.h> #include <stdlib.h> #include <limits.h> #include <float.h> int main(int argc, char** argv) { printf("Storage size for float : %d \n", sizeof(float)); printf("FLT_MAX: %g\n",(float) FLT_MAX); printf("FLT_MIN: %g\n",(float) FLT_MIN); printf("-FLT_MAX: %g\n",(float) -FLT_MAX); printf("-FLT_MIN: %g\n",(float) -FLT_MIN); printf("DBL_MAX: %g\n",(double) DBL_MAX); printf("DBL_MIN: %g\n",(double) DBL_MIN); printf("-DBL_MAX: %g\n",(double) -DBL_MAX); printf("Precision value: %d\n", FLT_DIG ); return 0; }
Output
Storage size for float : 4
FLT_MAX : 3.40282e+38
FLT_MIN : 1.17549e-38
-FLT_MAX : -3.40282e+38
-FLT_MIN : -1.17549e-38
DBL_MAX : 1.79769e+308
DBL_MIN : 2.22507e-308
-DBL_MAX : -1.79769e+308
Precision value: 6
Character Data Type in C
Character data types are used to store the value of the character.
Size and range of Floating type on a 16-bit machine
Type | Size(bytes) | Range |
---|---|---|
char or signed char | 1 | -128 to 127 |
unsigned char | 1 | 0 to 255 |
Double Data Type in C
Double data types are the same as the float data type, which allows up to 10-digits after the decimal. While the range of double is 1E-37 to 1E+37.
Example
#include <stdio.h> #include <limits.h> int main() { int a; char b; float c; double d; printf("Storage size for int data type:%d \n",sizeof(a)); printf("Storage size for char data type:%d \n",sizeof(b)); printf("Storage size for float data type:%d \n",sizeof(c)); printf("Storage size for double data type:%d\n",sizeof(d)); return 0; }
Output
Storage size for int data type:4
Storage size for char data type:1
Storage size for float data type:4
Storage size for double data type:8
Void Data Type
Void data type means no value. Because it is usually used to specify the type of functions which returns nothing. We will learn more about this datatype as we deep learning in C language, like functions, pointers, etc.