0% found this document useful (0 votes)
5 views

Pointers in C++

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Pointers in C++

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Pointers:

In C++, pointers are variables that store the memory address of another variable.
Understanding pointers and memory addresses is crucial in C++ because they provide
powerful ways to manipulate data and memory directly.
Basics of Pointers
1. Declaration: A pointer is declared by specifying the type of the variable it will point
to, followed by an asterisk *.

int *ptr; // Declares a pointer to an integer

2. Address-of Operator &: This operator returns the memory address of a variable.
int x = 10;
int *ptr = &x; // ptr now holds the address of x

3. Dereferencing Operator *: This operator accesses the value at the memory address
held by the pointer.
int y = *ptr; // y is now 10, the value stored at the address ptr is pointing to

Example of Pointer Usage

#include <iostream>
using namespace std;

int main() {
int var = 20; // Actual variable declaration
int *ptr; // Pointer declaration

ptr = &var; // Store the address of var in ptr

cout << "Value of var: " << var << endl;


cout << "Address of var: " << &var << endl;
cout << "Value stored at ptr: " << ptr << endl;
cout << "Value at the address stored in ptr: " << *ptr << endl;

return 0;
}

Output:
Value of var: 20
Address of var: 0x7ffd9b2b9164
Value stored at ptr: 0x7ffd9b2b9164
Value at the address stored in ptr: 20
Important Concepts
 Null Pointer: A pointer that is not pointing to any memory location. It is initialized
with nullptr in modern C++ (or NULL in older versions).
int *ptr = nullptr;
 Pointer Arithmetic: You can perform arithmetic operations on pointers to traverse
through arrays. For example, incrementing a pointer moves it to the next element in
an array.
int arr[3] = {10, 20, 30};
int *ptr = arr; // Points to the first element of the array

ptr++; // Now points to the second element


cout << *ptr; // Outputs 20
 Pointers and Arrays: The name of an array acts as a pointer to its first element. For
instance, arr and &arr[0] are equivalent.
 Dynamic Memory Allocation: Pointers are used for dynamic memory management
using new and delete.
int *ptr = new int; // Allocate memory for an integer
*ptr = 25; // Assign a value to the allocated memory
delete ptr; // Free the allocated memory
Address in C++
 The address of a variable in memory is often represented in hexadecimal.
 Knowing the address allows you to directly manipulate the data stored at that location,
which is essential for certain low-level programming tasks, such as systems
programming.

You might also like