C – Data Types3 min read

In C programming, data types specify the varying sizes and values in the variables that can be stored. It allocates the memory to store on OS depending on its type.

A data type or simply type is an attribute of data that tells the compiler or interpreter how the programmer intends to use the data. Most programming languages support common data types of real, integer, and boolean.

There are two types of data type in C. They are:

  • Primary data-type (Primitive data-type)
  • Derived data-type (Non-primitive data-type)

1. Primitive data type also known as Primary data types or pre-defined data types.

These are int, char, float, void as shown in the table below.

Data typeSizeRangeDescription
char1 byte-128 to +127A character
int2 or 4 byte-32,768 to 32,767 or
-2,147,483,648 to +2,147,483,647
An integer
float4 byte1.2E-38 to 3.4E+38Single precision floating point number
void1 byte-128 to +127void type stores nothing

Character type (char):

It stores a single character and requires a single byte. It can store 128 characters. char keyword used to define the character type.

Such as: char ch = 'corn';

Integer data type (int): 

It is a data type that can only store integers value.int keyword is used to define integer type in C Language. Integer can have zero, positive or negative value but it cannot be float or decimal value.

The size of the integer type is 2 or 4 bytes and it can store value upto 32,768 to 32,767 or -2,147,483,648 to +2,147,483,647.

Such as int value_name;

Float type(float & double): 

It is used to store decimal numbers (numbers with floating-point value) with single precision. float or double the keyword is used to define real numbers type.

The size of a float is 4 bytes and the size of double is 8 bytes. a float can store value up to 1.2E-38 to 3.4E+38 whereas double store value up to 2.3E-308 to 1.7E+308.

Such as: float salary; double price;

Note that:C considers floating-point literal as double type. Add suffix f or F after floating-point literal to specify a type as a float.

void type(void): 

As the name suggests, void internally does not store anything. They are used to define a function return type or a generic pointer void * ptr;

It is used in three kinds of situations:

  1. Function returns as void
  2. Function arguments as void
  3. Pointers to void

2. Non Primitive data type also known as Derived data types:

These are : arrays, pointers, union, structures, etc.


An array is a collection of data or finite ordered collection of homogeneous data, stored in contiguous memory locations. Arrays are also referred to as structured data types.


The pointer is a variable the stores/points the address of another variable. The pointer is used to allocate memory dynamically. The other variable can be of type int, char, array function, or any other pointer.


Union in C is also like structure, i.e. collection of different data types that are grouped together and the element is called a member.


The structure is a variable that gives the facility to store data of different data types in one variable which is not possible in an array. Structures are variables that have several parts. Each of those parts is called a member of the structure.


Find a pair with the Given Sum in an Array in Java

In this tutorial, we will write a java program to find the sum pair in an array. Before that, you may go through the following …
Read More

C++ Program to display Pascal Triangle

In this tutorial, we will write a C++ program to display pascal’s triangle. Before that, you may go through the following topic in C++. for …
Read More

C++ Program to Calculate Sum of Geometric Progression

In this tutorial, we will learn and write a program to find the sum of GP series in C++. Before that, you may go through …
Read More

C++ Program to find the Transpose of a Matrix

In this tutorial, we will learn and write a program to find the transpose of matric in C++. Before that, you may go through the …
Read More

How to Split a String in C++

Let us learn how to split string in C++ programming language. We will look at a few ways to split a string. The splitting of …
Read More

C++ Program to calculate Average of Numbers using Arrays

In this tutorial, we will learn and write a C++ program to find the average of numbers using an array. To understand the coding, you …
Read More