C++ Data Types

By | January 18, 2022
C++ Data Types

Here in this tutorial, we are going to discuss all the various Data Types we use in C++. We will also discuss why we use data types.

Data Figures

C++ is a statically typed programming language so when we initialize a variable or identifier we have to specify its data types along with it. A data type represents the type of the variable which is supposed to hold.

When we create a variable it reserved some space in the memory and different types of data occupy different memory sizes. Suppose if you want to store a number to an identifier, for example, x=3, before we do this we have to specify that x would only be able to hold integer values. On the basis of the data type, the operating system allocates memory to the identifier or variable.

C++ Data Types Types

C++ has divided its Data Types into 3 Categories:

  • Primary or Primitive
  • Derived
  • User-Defined

1. Primitive Data Types

Primitive data types are also known as Built-in data types, and these data types define the nature of the variable and determine the size occupied by the variable in the main memory. These are called primitive data types because these data types cannot be divided further.

Here are all primitive data types present in C++:

Type Keyword
Boolean bool
Character char
Integer int
Floating numbers float
Double Floating numbers Double
Void Void
Wide Character wchar_t
  • Boolean (bool): This data type is used to hold the logical data, true or false, and to represent it in programming language we use the bool keyword.
  • Character (char): As its name suggests character data type is used to store character it could either be Alphabet (capital or small), digit or any special character.
  • Integer (int): Integer data type is used to store integer values.
  • Floating Numbers (float): Float data type is used to store decimal numbers.
  • Double Floating Numbers (double): It is similar to floating data types but it provides a more precise decimal number as compared to floating numbers.
  • Void (void): Void data type represents the valueless entity.
  • Wide Character (wchar_t): It is similar to character data type, but it occupies more space than char.
Data Type modifiers

Data Type Modifiers are the special keywords used as a prefix to data types, to modify the range and length of the data types.


In C++ we have 4 Data Types Modifiers

  • Signed
  • Unsigned
  • Short
  • Long
Data Type Modifiers Data Types:
Signed Integer, Char,
Unsigned Integer, char
Long Integer Double
Short Integer
C++ Data-types Range and Size table
Type Size Range
char 1byte -127 to 127 or 0 to 255
unsigned char 1byte 0 to 255
signed char 1byte -127 to 127
int 4bytes -2147483648 to 2147483647
unsigned int 4bytes 0 to 4294967295
signed int 4bytes -2147483648 to 2147483647
short int 2bytes -32768 to 32767
unsigned short int 2bytes 0 to 65,535
signed short int 2bytes -32768 to 32767
long int 4bytes -2,147,483,648 to 2,147,483,647
signed long int 8bytes same as long int
unsigned long int 4bytes 0 to 4,294,967,295
long long int 8bytes -(2^63) to (2^63)-1
unsigned long long int 8bytes 0 to 18,446,744,073,709,551,615
float 4bytes
double 8bytes
long double 12bytes
wchar_t 2 or 4 bytes 1 wide character


#include <iostream>
using namespace std;
int main()
   cout <<"DATA TYPES----->SIZE\n";             
   cout << "Character: " << sizeof(char) <<"byte\n";
   cout << " Integer: " << sizeof(int) <<"bytes\n";
   cout << "Long Integer: " << sizeof(long int) <<"bytes\n";
   cout << "Short int: " << sizeof(short int) <<"bytes\n";
   cout << "Float : " << sizeof(float) <<"bytes\n";
   cout << "Double: " << sizeof(double) <<"bytes\n";
   cout << " Wide Character: " << sizeof(wchar_t) <<"bytes\n";
   return 0;


Character: 1byte
Integer: 4bytes
Long Integer: 4bytes
Short int: 2bytes
Float : 4bytes
Double: 8bytes
Wide Character: 2bytes

2. Derived Data Types

Derived Data types are the collection of primitive data types; we can further divide a derived data type into single primitive data types. In C++ we have four types of Derived data types:

  • Function
  • Array
  • Pointers
  • Reference

3. Abstract Data Types

These Data Types also known as user-defined data types, with the help of abstract data types we can create our own data types.

  • Class
  • Structure
  • Union
  • Typedef
  • Enumeration


  • Data types tell the nature of the variable.
  • Data types restrict the type of data a variable could hold
  • There are three types of Data types in C++ Primitive, Derived, and Abstract Data type.
  • Primitive data types are also known as inbuilt data types which include, int, char, float, double, etc.
  • Data Modifies is the pre-fix keyword of primitive data types that are used to modify the default size and range of primitive data types.
  • Signed, unsigned, short and long are the four data types modifiers present in C++.
  • Derived data types are the collection of Primitive data types.
  • Abstract data types are also known as User-defined data types.

People are also reading: 

Author: Vinay

I am a Full Stack Developer with a Bachelor's Degree in Computer Science, who also loves to write technical articles that can help fellow developers.

Leave a Reply

Your email address will not be published. Required fields are marked *