EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

C++ Data Types

Home » Software Development » Software Development Tutorials » C ++ Programming Tutorial » C++ Data Types

C++-Data-Types

Introduction to C++ Data Types

C++ Data types define the type of data that a variable can hold. It can be user-defined data type like integer, float, double, char, or built-in data type like union, enum, struct or can be a derived data types like functions, pointers, arrays. Data types should be defined before the execution as it informs the compiler the type of data specific variables holds. Integer data type can hold only integer values, it cannot hold the float values or string values.

A  data type is to let know the variable, what type of element it is and definitely going to determine the memory allocation of that variable. We are aware that each data type has a different memory allocation. There are three different C++ data types namely; Primitive, Derived and User Defined. Let’s go ahead and learn about them.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Top 3 Data Types in C++

Here are three different data types in c++ which are explained below:

1. Primitive Data Types

These are pre-defined in c++, also called the built-in data types. We can directly use them to declare the variables.

a. Integer: Usually defined by “int”. We can know the size of memory allocated and how the variable is declared as below.

Code:

#include <iostream>
using namespace std;
int main()
{
int a;
cout<< " Size of int is: " << sizeof(a);
}

Popular Course in this category
C++ Training (4 Courses, 5 Projects, 4 Quizzes)4 Online Courses | 5 Hands-on Projects | 37+ Hours | Verifiable Certificate of Completion | Lifetime Access | 4 Quizzes with Solutions
4.5 (4,890 ratings)
Course Price

View Course

Related Courses
Java Training (40 Courses, 29 Projects, 4 Quizzes)C Programming Training (3 Courses, 5 Project)

Output:

C++ Data Types

b. Character: Usually defined by “char”. We can know the size of memory allocated and how the variable is declared as below.

Code:

#include <iostream>
using namespace std;
int main()
{
char a;
a='R';
cout<< " Size of char is: " << sizeof(a)<<endl;
cout<< " Value of a is: " << a;
}

Output:

C++ Data Types(char)

c. Floating Point: Usually defined by “float”. We can know the size of memory allocated and how the variable is declared as below.

Code:

#include <iostream>
using namespace std;
int main()
{
float a;
a=5.85;
cout<< " Size of float is: " << sizeof(a)<<endl;
cout<< " Value of a is: " << a;
}

Output :

C++ Data Types float

d. Boolean: Usually defined by “bool”. We can know the size of memory allocated and how the variable is declared as below.

Code:

#include <iostream>
using namespace std;
int main()
{
bool a;
cout<< " Size of bool is: " << sizeof(a)<<endl;
cout<< " Value of a is: " << a;
}

Output :

C++ Data Types boolean

e. String: Usually defined by “String”. We can know the size of memory allocated and how the variable is declared as below.

Code:

#include <iostream>
using namespace std;
int main()
{
string a;
a="Happy";
cout<< " Size of string is: " << sizeof(a)<<endl;
cout<< " Value of a is: " << a;
}

Output:

string

Here, we also have the concept of signed, unsigned, short and long. So, what are these? These are called the Data type modifiers. These, in fact, decide the actual length of any particular data type.

Signed values give us the numbers of both below and above zero, which is both positive and negative. Whereas the unsigned values contain data which is only positive. And coming to short and long, through the names itself we can clearly interpret that long data modifier has the capacity to store large amounts of values. And in fact, short is the data type must and will hold a minimum of those numbers of values.

2. Derived Data Types

These are the data types that are derived from the primitive data types; which in turn justifies its name.

a. Array: Here, we define a series. Let’s see how we can do that here.

Code:

#include <iostream>
using namespace std;
int main()
{
int a[5]={1,6,10,15,56};
cout<< " Size of array is: " << sizeof(a)<<endl;
for(int i=0;i<6;i++)
{
cout<< " Value of a is: " << a[i] <<endl;
}
}

Output:

array

b. Pointer: This enables the call by reference functionality and these pointers play a huge role in declaring or manipulating data in dynamic data structures. For example in creating Stacks, Queues, Linked lists we primarily use these pointers.

Code:

#include <iostream>
using namespace std;
int main()
{
float a = 30;
float *h;
h= &a;
cout << " Value of pointer h "<< h << endl;
cout << " Value of variable a "<< a << endl;
cout << " h value "<< *h ;
}

Output:

pointer

3. User-Defined Data Types

As the name already suggests, these are the data types which the user can define. Let us see few examples of these.

a. Structures: Storing the combination of either similar or different data types under continuous memory locations. As we already saw, in arrays we can store only items with similar data types. But structures can store different data types. Let us see a small example below.

Code:

#include <iostream>
using namespace std;
struct First
{
int a = 58;
string r = "Happy";
float y = 58.5;
} ;
int main()
{
struct First f;
cout<< " Integer value is: "<< f.a <<endl;
cout<< " String value is: "<< f.r << endl;
cout<< " Float value is: "<< f.y;
}

Output:

structure

b. Class: It is defined in the object-oriented programming. This has functions, variables and is accessed by creating objects. Let us see a small example of the same.

Code:

#include <iostream>
using namespace std;
class First
{
public:
string name;
void show()
{
cout << "Name is: " << name;
}
};
int main()
{
First f;
f.name = "My Name";
f.show();
return 0;
}

Output:

class

c. Type Def: This data type is for just giving a new or a different name to the data types. Let’s see this by a small example.

Code:

#include <iostream>
using namespace std;
int main()
{
typedef unsigned char THISONE;
typedef unsigned int OTHERONE;
THISONE b1;
OTHERONE b2;
b1 = 'R';
b2 = 10;
cout << " Check this out: " << b1<<endl;
cout << " Check other out: " << b2;
return 0;
}

Output:

type def

And, there are many more. Even Stacks, Queues, Linked lists, and Trees also come under different Data Structures.

d. Enumeration: Defined by the word “enum”. These are generally used when we already know a set of values for a particular variable and choose a single value from them. Let’s have a small example below.

Code:

#include <iostream>
using namespace std;
enum color {Yellow, Red, Green, Blue}col;
int main()
{
col = Green;
cout<<" The color chosen is in the place: "<<col;
return 0;
}

Output:

enumeration

Conclusion

I hope, you had a good time learning different data types of C++. We have majorly covered many of them.  We use these different data types and definitely, these are the basis of any programming language. Without declaring variables with specific data types, we cannot know the exact memory allocations and what set of instructions that a program has to do. Practice and try using different data types with data modifiers and check out how they are behaving too.

Recommended Articles

This is a guide to C++ Data Types. Here we discuss top 3 C++ datatypes such as primitive, derived and user-defined along with examples and code implementation. You may also look at the following articles to learn more –

  1. String Array in C++
  2. Sorting in C++ 
  3. C++ Garbage Collection
  4. Overriding in C++

C++ Training (4 Courses, 3 Projects, 4 Quizzes)

4 Online Courses

5 Hands-on Projects

37+ Hours

Verifiable Certificate of Completion

Lifetime Access

4 Quizzes with Solutions

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C plus plus Programming Tutorial
  • Basic
    • Introduction To C++
    • What is C++
    • Features of C++
    • Applications of C++
    • Best C++ Compiler
    • C++ Data Types
    • C++ Double
    • C++ unsigned int
    • User Defined Data Types in C++
    • Variables in C++
    • C++ Keywords
    • Pointers in C++
    • C++ Void Pointer
    • Function Pointer in C++
    • Iterator in C++
    • C++ Commands
    • Object in C++
    • C++ Literals
    • C++ Reference
    • C++ Undefined Reference
    • String in C++
    • C++ Programming Language (Basics)
    • C++ Identifiers
    • C++ Header Files
    • Type Casting in C++
    • C++ Formatter
  • Operators
    • C++ Operators
    • Arithmetic Operators in C++
    • Assignment Operators in C++
    • Bitwise Operators in C++
    • Relational Operators in C++
    • Boolean Operators in C++
    • Unary Operators in C++
    • C++ Operator[]
    • Operator Precedence in C++
    • C++ operator=()
  • Control Statements
    • Control Statement in C++
    • if else Statement in C++
    • Else If in C++
    • Nested if in C++
    • Continue Statement in C++
    • Break Statement in C++
    • Switch Statement in C++
    • goto Statement in C++
    • C++ Struct
    • Loops in C++
    • Do While Loop in C++
    • Nested Loop in C++
  • Functions
    • C++ String Functions
    • Math Functions in C++
    • Friend Function in C++
    • Recursive Function in C++
    • Virtual Functions in C++
    • strcat() in C++
    • swap() in C++
    • strcmp() in C++
    • ceil function in C++
    • C++ begin()
    • size() in C++
    • C++ test()
    • C++ any()
    • C++ Bitset
    • C++ find()
    • C++?Aggregation
    • C++?String append
    • C++ String Copy
    • C++ end()
    • C++ endl
    • C++ push_back
    • C++ shuffle()
    • malloc() in C++
    • C++ reserve()
    • C++ unique()
    • C++ sort()
    • C++ find_if()
    • Reflection in C++
    • C++ replace()
    • C++ search()
    • C++ Memset
    • C++ size_t
    • C++ Substring
    • C++ Max
    • C++ absolute value
    • C++ memcpy
    • C++ wchar_t
    • C++ free()
    • C++ sizeof()
    • C++ Move Semantics
  • Array
    • Arrays in C++
    • 2D Arrays in C++
    • 3D Arrays in C++
    • Multi-Dimensional Arrays in C++
    • C++ Array Functions
    • String Array in C++
    • C++ Length of Array
    • C++ arraylist
  • Constuctor and Destructor
    • Constructor and Destructor in C++
    • Constructor in C++
    • Destructor in C++
    • Copy Constructor in C++
    • Parameterized Constructor in C++
  • Overloading and overriding
    • Overloading and Overriding in C++
    • Overloading in C++
    • Overriding in C++
    • Function Overloading in C++
    • Function Overriding in C++
    • Method Overloading in C++
  • Inhertiance
    • Types of Inheritance in C++
    • Single Inheritance in C++
    • Multiple Inheritance in C++
    • Hierarchical Inheritance in C++
    • Multilevel Inheritance in C++
    • Hybrid Inheritance in C++
  • Sorting
    • Sorting in C++ 
    • Heap Sort in C++
    • C++ Vector Sort
    • Insertion Sort in C++
    • Selection Sort in C++
  • Advanced
    • C++ namespace
    • Encapsulation in C++
    • Access Modifiers in C++
    • Abstract Class in C++
    • C++ Class and Object
    • What is Template Class in C++?
    • C++ Algorithm
    • Data Structures and Algorithms C++
    • C++ Garbage Collection
    • Virtual Keyword in C++
    • Access Specifiers in C++
    • Storage Class in C++
    • Call by Value in C++
    • Multimap in C++
    • C++ Multiset
    • C++ Lambda Expressions
    • Stack in C++
    • C++ Static
    • C++ static_cast
    • Deque in C++
    • C++ Vector Functions
    • C++ 2D Vector
    • C++ List
    • C++ Mutable
    • Enum in C++
    • Abstraction in C++
    • Signal in C++
    • C++ Queue
    • Priority Queue in C++
    • Regular Expressions in C++
    • C++ Hash Table
    • File Handling in C++
    • C++ Stream
    • ifstream in C++
    • C++ ofstream
    • C++ fstream
    • C++ Read File
    • C++ iomanip
    • Macros in C++
    • Templates in C++
    • C++ setprecision
    • C++ Int to String
    • C++ thread( )
    • C++ Thread Pool
    • C++ thread_local
  • Programs
    • Patterns in C++
    • Star Patterns In c++
    • Swapping in C++
    • Reverse Number in C++
    • Palindrome Program in C++
    • Palindrome in C++
    • Factorial Program in C++
    • Fibonacci Series in C++
    • Square Root in C++
    • Random Number Generator in C++
    • Prime Number in C++
    • Leap Year Program in C++
    • Anagram in C++
    • Armstrong Number in C++
    • Reverse String in C++
    • Socket Programming in C++
    • Matrix Multiplication in C++
    • C++ using vs typedef
    • C++ vector vs list
    • C++ vector vs array
  • Interview question
    • C++ Interview Questions
    • Multithreading Interview Questions C++

Related Courses

C++ Training Course

Java Training Course

C Programming Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you