CPP Tutorial

CPP examples programs

CPP Pointers

CPP pointers can be defined as a variable, pointing towards the address of a value.

Syntax:

Data_type *variable_Name;

CPP Pointer to Pointer:

When a pointer refers to the address of another pointer, it is called as Pointer to Pointer in CPP.

Syntax:

Data_type **variable_Name;

Pointer Arithmetic in C:

CPP also facilitates Arithmetic operations with Pointers. Some of these are:

CPP Pointer Increment:

Incrementing a pointer in CPP simply means to increase the pointer value step by step to point to the next location.

Logic:

Next Location = Current Location + i * size_of(data type)

CPP Pointer Decrement:

Decrementing a pointer in CPP simply means to decrease the pointer value step by step to point to the previous location.

Logic:

Next Location = Current Location – i * size_of(data type)

CPP Pointer Addition:

Addition in pointer in CPP simply means to add a value to the pointer value.

Logic:

Next Location = Current Location + (Value To Add * size_of(data type))

CPP Pointer Subtraction:

Subtraction from a pointer in CPP simply means to subtract a value from the pointer value.

Logic:

Next Location = Current Location – (Value To Add * size_of(data type))

 

Advantages of using Pointers in CPP:

  • Improves the performance.
  • Frequently used in arrays, structures, graphs and trees.
  • Less number of lines needed in a code.
  • Useful in accessing any memory location.
  • Used in Dynamic Memory Allocation.

NULL Pointer:

NULL pointers either have no value or NULL value assigned to it.

 

Example 1: Example of Pointers used inside a function.

#include <iostream.h>
using namespace std;
 
int sum(int *a, int *b)
{
int *c;
*c = *a + *b;
return *c;
}
 
int main()
{
int x = 100;
int y = 200;
int add;
add = sum(&x,&y);
cout << x <<" + " << y << " = " << add;
return 0;
}

Output

100 + 200 = 300

Example 2: Example of CPP Pointer to Pointer.

#include <iostream.h>
using namespace std;
 
int main()
{  
int n = 60784; 	 
int *a;
int **b;    
a = &n;    
b = &a;    
 
cout << n <<endl;
cout << a <<endl;
cout << b <<endl;
cout << &n <<endl;
cout << &a <<endl;
return 0;
}

Output

60784                                
0x7ffc8ab9d354                  
0x7ffc8ab9d358                         
0x7ffc8ab9d354                      
0x7ffc8ab9d358