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

CPP Pointer To Pointer

Uploaded by

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

CPP Pointer To Pointer

Uploaded by

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

C++ POINTER TO POINTER MULTIPLEINDIRECTION

http://www.tutorialspoint.com/cplusplus/cpp_pointer_to_pointer.htm Copyright © tutorialspoint.com

A pointer to a pointer is a form of multiple indirection or a chain of pointers. Normally, a pointer


contains the address of a variable. When we define a pointer to a pointer, the first pointer contains
the address of the second pointer, which points to the location that contains the actual value as
shown below.

A variable that is a pointer to a pointer must be declared as such. This is done by placing an
additional asterisk in front of its name. For example, following is the declaration to declare a
pointer to a pointer of type int:

int **var;

When a target value is indirectly pointed to by a pointer to a pointer, accessing that value requires
that the asterisk operator be applied twice, as is shown below in the example:

#include <iostream>

using namespace std;

int main ()
{
int var;
int *ptr;
int **pptr;

var = 3000;

// take the address of var


ptr = &var;

// take the address of ptr using address of operator &


pptr = &ptr;

// take the value using pptr


cout << "Value of var :" << var << endl;
cout << "Value available at *ptr :" << *ptr << endl;
cout << "Value available at **pptr :" << **pptr << endl;

return 0;
}

When the above code is compiled and executed, it produces the following result:

Value of var :3000


Value available at *ptr :3000
Value available at **pptr :3000
Loading [MathJax]/jax/output/HTML-CSS/jax.js

You might also like