Javatpoint Logo
Javatpoint Logo

C++ Data Types

A data type specifies the type of data that a variable can store such as integer, floating, character etc.

Cpp Data typews 1

There are 4 types of data types in C++ language.

Types Data Types
Basic Data Type int, char, float, double, etc
Derived Data Type array, pointer, etc
Enumeration Data Type enum
User Defined Data Type structure

Basic Data Types

The basic data types are integer-based and floating-point based. C++ language supports both signed and unsigned literals.

The memory size of basic data types may change according to 32 or 64 bit operating system.

Let's see the basic data types. It size is given according to 32 bit OS.

Data Types Memory Size Range
char 1 byte -128 to 127
signed char 1 byte -128 to 127
unsigned char 1 byte 0 to 127
short 2 byte -32,768 to 32,767
signed short 2 byte -32,768 to 32,767
unsigned short 2 byte 0 to 32,767
int 2 byte -32,768 to 32,767
signed int 2 byte -32,768 to 32,767
unsigned int 2 byte 0 to 32,767
short int 2 byte -32,768 to 32,767
signed short int 2 byte -32,768 to 32,767
unsigned short int 2 byte 0 to 32,767
long int 4 byte
signed long int 4 byte
unsigned long int 4 byte
float 4 byte
double 8 byte
long double 10 byte

The nature and size of variables in C++ are heavily influenced by data types, which also have an impact on memory use and the range of values that may be stored. Although the material given covers the fundamental data types, certain significant aspects and factors might improve your comprehension of C++ data types.

Types of Floating-Point Data:

C++ incorporates the idea of scientific notation for encoding floating-point literals in addition to float, double, and long double. In this system, exponentiation is denoted by the letter e or 'E'. For illustration:

Fixed-Width Integer Types: C++11 added fixed-width integer types to ensure consistent behavior across various platforms, which contain a set number of bits. These types, whose names include int8_t, uint16_t, and int32_t, are specified in the cstdint header. Regardless of the underlying system, these types are particularly helpful when you want precise control over the size of numbers.

size of Operator: The sizeof operator is used to calculate a data type or variable's size (in bytes). For instance:

Character and String Types: The C++ language uses the char data type to represent characters. Wide characters (wchar_t) for expanded character sets, and the char16_t and char32_t types for Unicode characters are also introduced by C++. The std::string class or character arrays (char or wchar_t) are used to represent strings.

References and Pointers: Despite the brief mention of derived data types, pointers, and references are crucial concepts in C++. A variable that stores the memory address of another variable is known as a pointer. It permits the allocation and modification of dynamic memory. On the other hand, references offer another method of accessing a variable by establishing an alias. Pointers and references are essential for complicated data structures and more sophisticated memory management.

Enumeration Data Type: An enumeration is a user-defined data type made up of named constants (enumerators), and it is specified by the enum data type. Enumerations are frequently used to increase the readability and maintainability of code by giving specified data names that make sense.

Structures and Classes as User-Defined Data Types: Although the struct was described in the example as a user-defined data type, C++ also introduces the concept of classes. Classes provide you with the ability to build user-defined types that are more complicated and have member variables and related methods (functions). They serve as the foundation of C++'s object-oriented programming.

Bit Fields: C++ offers a method to declare how many bits should be used by each component of a structure. It is helpful when working with packed data structures or hardware registers.

Data Type Modifiers: C++ supports the usage of data type modifiers like const, volatile, and mutable to modify the behavior of variables. For example, volatile denotes that a variable can be altered outside, but const makes a variable immutable.


In conclusion, effective programming requires a solid understanding of C++ data types. Knowing fixed-width integers, pointers, references, and user-defined types like struct and class is essential in addition to the fundamental types like int, char, and float. These types allow for accurate memory management, effective coding, and the development of complex programs. Programmers may fully utilize the capabilities of C++ for the creation of diverse and dynamic software by being knowledgeable about the subtleties of data types.

Next TopicC++ keyword

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA