A pointer is used to store the address of variables. So, when we define a pointer to pointer, the first pointer is used to store the address of the second pointer. Thus it is known as double pointers.
Algorithm
Begin Declare v of the integer datatype. Initialize v = 76. Declare a pointer p1 of the integer datatype. Declare another double pointer p2 of the integer datatype. Initialize p1 as the pointer to variable v. Initialize p2 as the pointer to variable p1. Print “Value of v”. Print the value of variable v. Print “Value of v using single pointer”. Print the value of pointer p1. Print “Value of v using double pointer”. Print the value of double pointer p2. End.
A simple program to understand double pointer:
Example
int main() { int v = 76; int *p1; int **p2; p1 = &v; p2 = &p1; printf("Value of v = %d\n", v); printf("Value of v using single pointer = %d\n", *p1 ); printf("Value of v using double pointer = %d\n", **p2); return 0; }
Output
Value of v = 76 Value of v using single pointer = 76 Value of v using double pointer = 76