Introduction to Pointers

Pointers in C++ are variables that store the memory address of another variable. They are one of the most powerful features of C++ and are widely used in memory management, arrays, functions, and dynamic programming.

What is a Pointer?

A pointer is a special variable that stores the address of another variable instead of storing a direct value.

Why Use Pointers?

Pointers are useful because they:

  • Allow direct memory access
  • Support dynamic memory allocation
  • Improve program performance
  • Help in passing data efficiently
  • Are used in advanced data structures

Pointer Syntax

data_type *pointer_name;

Example of Pointer Declaration

int *ptr;

Example of Pointer

#include <iostream>
using namespace std;

int main() {

int num = 10;

int *ptr = &num;

cout << num << endl;
cout << &num << endl;
cout << ptr << endl;
cout << *ptr << endl;

return 0;
}

Output Explanation

  • num → stores value 10
  • &num → gives memory address of num
  • ptr → stores address of num
  • *ptr → accesses value stored at that address

Address Operator (&)

The & operator returns the memory address of a variable.

int a = 5;

cout << &a;

Dereference Operator (*)

The * operator accesses the value stored at a memory address.

cout << *ptr;

How Pointers Work

  1. A normal variable stores data
  2. A pointer stores the address of that variable
  3. Using *, you can access or modify the original value

Modifying Value Using Pointer

#include <iostream>
using namespace std;

int main() {

int num = 10;

int *ptr = &num;

*ptr = 20;

cout << num;

return 0;
}

Output

20

Null Pointer

A pointer that does not point to any memory location is called a null pointer.

int *ptr = NULL;

Modern C++ also uses:

int *ptr = nullptr;

Pointer and Arrays

Pointers work closely with arrays.

int arr[3] = {10, 20, 30};

cout << *arr;

Pointer to Pointer

A pointer can also store the address of another pointer.

int a = 5;

int *ptr = &a;

int **ptr2 = &ptr;

Advantages of Pointers

  • Efficient memory usage
  • Faster data access
  • Supports dynamic memory allocation
  • Useful in advanced programming

Disadvantages of Pointers

  • Complex for beginners
  • Can cause memory errors
  • Incorrect usage may crash programs

Why Pointers are Important

Pointers are important because they:

  • Form the foundation of dynamic memory management
  • Are used in linked lists, trees, and graphs
  • Improve program efficiency
  • Are essential in system programming

Real-Life Example

Think of a house address:

  • The house contains actual items
  • The address tells where the house is located

Similarly:

  • Variable stores data
  • Pointer stores the address of that data

Conclusion

Pointers in C++ are powerful variables used to store memory addresses. They provide efficient memory handling, support advanced programming concepts, and play a major role in dynamic memory management and data structures.

Home » Intermediate C++ > Pointers > Introduction to Pointers