Data types in C-Programming refer to an extensive system used for declaring variables or functions of different types. The type of a variable determines how much space it occupies in storage and how the bit pattern stored is interpreted.
Data Types in c-Programming are used to:
- Identify the type of a variable when it declared.
- Identify the type of the return value of a function.
- Identify the type of a parameter expected by a function.
In c programming language, data types are classified as follows…
- Primary Data types in c-programming (Basic Datatypes OR Predefined Datatypes)
- Derived Datatypes (Secondary Datatypes OR Userdefined Datatypes)
- Enumeration Datatype
Primary Datatypes
The primary data types in C-programming language are the basic datatypes. All the primary datatypes are already defined in the system. Primary datatypes are also called as Built-In datatypes. The following are the primary datatypes in c programming language.
- Integer Datatype
- Floating Point Datatype
- Double Datatype
- Character Datatype
Integer Types
Integer datatype is a set of whole numbers. Every integer value does not have the decimal value. We use the keyword “int” to represent integer datatype in c. We use the keyword int to declare the variables and to specify return type of a function. The integer datatype is used with different type modifiers like short, long, signed and unsigned. The following table provides complete details about integer datatype.
Type | Storage size | Value range |
---|---|---|
char | 1 byte | -128 to 127 or 0 to 255 |
unsigned char | 1 byte | 0 to 255 |
signed char | 1 byte | -128 to 127 |
int | 2 or 4 bytes | -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647 |
unsigned int | 2 or 4 bytes | 0 to 65,535 or 0 to 4,294,967,295 |
short | 2 bytes | -32,768 to 32,767 |
unsigned short | 2 bytes | 0 to 65,535 |
long | 4 bytes | -2,147,483,648 to 2,147,483,647 |
unsigned long | 4 bytes | 0 to 4,294,967,295 |
To get the exact size of a type or a variable on a particular platform, you can use the sizeof operator. The expressions sizeof(type) yields the storage size of the object or type in bytes. Given below is an example to get the size of int type on any machine −
#include <stdio.h> #include <conio.h> int main() { clrscr(); printf("The Storage size for int : %d \n", sizeof(int)); getch(); }
When you compile and execute the above program, it produces the following result on Linux −
The Storage size for int : 4
1.3. FLOATING POINT DATA TYPE:
Floating point data type consists of 2 types to understand it see the table given below.
Type | Storage size | Value range | Precision |
---|---|---|---|
float | 4 byte | 1.2E-38 to 3.4E+38 | 6 decimal places |
double | 8 byte | 2.3E-308 to 1.7E+308 | 15 decimal places |
long double | 10 byte | 3.4E-4932 to 1.1E+4932 | 19 decimal places |
Float data has two types;
- float
- double
1. FLOAT Data types in c
- Float data type allows a variable to store decimal values.
- Storage size of float data type is 4. This also varies depend upon the processor in the CPU as “int” data type.
- We can use up-to 6 digits after decimal using float data type.
- For example, 10.456789 can be stored in a variable using float data type.
2. DOUBLE:
- Double data type in c is also same as float data type which allows up-to 10 digits after decimal.
- The range for double datatype is from 1E–37 to 1E+37.
Example:
#include <stdio.h> #include <Conio.h> int main() { clrscr(); printf(" The Storage size for float : %d \n", sizeof(float)); printf("The Minimum float positive value: %E\n", FLT_MIN ); printf(" The Maximum float positive value: %E\n", FLT_MAX ); printf(" The Precision value: %d\n", FLT_DIG ); getch(); }
When you compile and execute the above program, it produces the following result on Linux −
The Storage size for float : 4 The Minimum float positive value: 1.175494E-38 The Maximum float positive value: 3.402823E+38 The Precision value: 6
Character Datatype
- Character data types in c allows a variable to store only one character.
- Storage size of character data type is 1. We can store only one character using character data type.
- “char” keyword is used to refer character data type.
- For example, ‘A’ can be stored using char datatype. You can’t store more than one character using char data type.
Example
char test = 'h';
Here, test is a character variable. The value of test is ‘h’.
The size of character variable is 1 byte.
The void data type
- Void is an empty data type that has no value.
- This can be used in functions and pointers.
#include <stdio.h>
typedef struct {
void* fn;
void* param;
} event;
void print()
{
printf("Hello\n");
}
int main()
{
event e;
e.fn = print;
((void(*)())e.fn)();
return 0;
Enumerated Data type
An enumerated data types in c is a user-defined data type that consists of integer constants and each integer constant is given a name. The keyword “enum” is used to define enumerated datatype.
Derived Data types
Derived data types in c are user-defined data types. The derived datatypes are also called as user defined datatypes or secondary datatypes. In c programming language, the derived datatypes are created using the following concepts…
- Arrays
- Structures
- Unions
- Enumeration
Leave a Reply