Sushant Gaurav

Primitive Data Structure

The data structures are nothing but a meaningful way of arranging, and storing the data in the computer for efficient utilization and processing depending upon the situation. A primitive data structure can store the value of only one data type. For example, a char data structure (a primitive data structure) can store only characters. The size of a primitive data structure is known as it can store can only one data type. Examples of the primitive data type are integer, character, boolean, float, double, long, etc.

Scope

The article contains topics such as

  • What are data structures (data types), and their types namely- primitive data structure and non-primitive data structure
  • Overview of various primitive data structures along with their ranges and size.

Each of the topics is explained clearly with diagrams and examples wherever necessary.

Takeaways

Data types can be classified into two categories:

  • Primitive Data Structures
  • Non-primitive Data Structures

Cheatsheet for Primitive Data Structures

Before learning about the primitive data structure, let us first learn about data structures and data types.

Data types are nothing but the classification or categorization of the data items. Data types represent the kind of value and also tell what operations can be performed on a particular data. Various programming languages and various data types. On the other hand, the data structures are nothing but a meaningful way of arranging, and storing the data in the computer for efficient utilization and processing depending upon the situation.

Note: The data structures and data types are often used interchangeably.

The data structure can be divided into two categories namely – primitive data structure and non-primitive data structure.

Refer to the diagram below to see the visual representation of the various data types along with their sizes.

Cheatsheet for primitive data structures

Let us briefly discuss the primitive data structures and non-primitive data structures.

Primitive Data Structures:
A primitive data structure can store the value of only one data type. For example, a char data structure (a primitive data structure) can store only characters.

Key features of a primitive data structure:

  • The size of a primitive data structure is known as it can store can only one data type.
  • The primitive data structure will always store some data. It cannot contain the NULL value.
  • Examples of the primitive data type are integer, character, boolean, float, double, long, etc.

Non-primitive Data Structures:
Unlike the primitive data structure, a non-primitive data structure can store the value of more than one data type. For example, a list in Python can store various data types inside it.

values = [10, False, "String"] # values is a list

Key features of a primitive data structure:

  • The size of a primitive data structure depends upon the type of data it stores.
  • The primitive data structure will be just initialized without storing any data or value. It can contain the NULL value.
  • Examples of the non-primitive data types are linked lists, stacks, queues, dictionaries, etc.

Now let us learn about the most commonly used primitive data structures along with their examples.

Bool

Bool or boolean is a primitive data structure that can be used to store only two values i.e. True or False. The size of a boolean data type is 1 byte but it only uses 1 bit of the 8 bits(1 byte = 8 bits) to store the value. A bool data type is used when we want to track whether a condition is true or false.

Example: Python

a = True

C++

bool a = false;

Java

bool a = false;

Byte

A byte is a primitive data structure that is used to store 1-byte variables. The size of a byte data type is 1 byte.

Example: Java

byte a = 127;

Note: The byte data type is an 8-bit signed two’s complement integer.

Char

Character or char is a primitive data type that can be used to store the value of a single character (it can store lowercase letters as well as uppercase letters). The size of a character data type is 2 bytes.

Example: C++

char letter = 'a';

Java

char letter = 'z';

Int

Integer or int is also a primitive data type that can be used to store the numbers in the range: $-2^{31}$ to $2^{31}-1$ or (2147483648 to 2147483647). The size of a character data type is 4 bytes.

Example: C and C++

int number = 10;

Java

int number = 20;

Python

number = 30

Float

A floating-point number or float is a primitive data type that can be used to store fractional numbers.its range is : 3.4e−038 to 3.4e+038. The size of a character data type is 4 bytes.

Example: C and C++

float number = 10.56;

Java

float number = 20.25;

Python

number = 30.69

Note: There are two types of floating numbers. The float32 is a 32-bit number and the float64 is a 64-bit number.

Double

Double is also a primitive data type that can be used to store fractional numbers. Its range is 1.7e−308 to 1.7e+308. The size of a character data type is 8 bytes. We need to add d at the end of the number to denote it as a double number in java.

Example: C and C++

double number = 25.25;

Java

double number = 25.25d;

Note: Python does not have an inbuilt double data type.

Long

Long is a primitive data type that can be used to store the numbers in the range: $-2^{63}$ to $2^{63}-1$. The size of a long data type is 8 bytes. When we have a number larger than the range of integer then we use the long data type.

Example: C and C++

long number = 2555555;

Java

long number = 2555555;

Short

Short is a primitive data type that can be used to store the numbers in the range: $-2^{15}$ to $2^{15}-1$. The size of a short data type is 2 bytes. When we have e smaller number than the range of integer then we can use a short data type as it takes only 2 bytes.

Example: C and C++

short int number = 255;

Java

short number = 12345;

Note: In C++, short is equivalent to short int.

Pointer

Pointer can also be referred to as a primitive data type that can be used to store the address of another variable. Pointers can store the address of other primitive and non-primitive data types as well. Pointer is supported by languages like C and C++. Languages like Java and Python have references as a counterpart of pointers.

C and C++ Example:

int number = 55;
int *a = &number;

Note: Pointer takes 8 bytes of memory.

Refer to the table below to find the range and size of the primitive data structure according to a 64-bit compiler.

Data TypeSize in 64-bit compilersRange
Bool1 bytetrue or false
Byte1 byte-128 to 127
Char2 bytes0 to $2^{16}-1$
Int4 bytes$-2^{31}$ to $2^{31}-1$
Float4 bytes-3.4E+38 to +3.4E+38
Double8 bytes-1.7E+308 to +1.7E+308
Long8 bytes$-2^{63}$ to $2^{63}-1$
Short2 bytes$-2^{15}$ to $2^{15}-1$

Conclusion

  • The data structures are nothing but a meaningful way of arranging, and storing the data in the computer for efficient utilization and processing depending upon the situation.
  • The size of a primitive data structure is known as it can store can only one data type. Examples of the primitive data type are integer, character, boolean, float, double, long, etc.
  • Bool is a primitive data structure that can be used to store only two values i.e. True or False. A bool data type is used when we want to track whether a condition is true or false.
  • byte is a primitive data structure that is used to store 1-byte variables. char is a primitive data type that can be used to store the value of a single character.
  • int is a primitive data type that can be used to store the numbers in the range: $-2^{31}$ to $2^{31}-1$.
  • float is a primitive data type that can be used to store fractional numbers. Double is also a primitive data type that can be used to store fractional numbers. Its range: 1.7e−308 to 1.7e+308.
  • long is used to store the numbers in the range: $-2^{63}$ to $2^{63}-1$. short is used to store the numbers in the range: $-2^{15}$ to $2^{15}-1$.
  • Pointer can also be referred to as a primitive data type that can be used to store the address of another variable. Pointers can store the addresses of other primitive and non-primitive data types as well.

Author