Declaring double pointer is similar to declaring pointer in C programming language. The difference is that only we need to add an additional ‘*’ before the name of pointer.
Syntax
The syntax is given below for declaring double pointers −
int **ptr;
Example
Following is the C program for pointer to pointer −
#include<stdio.h>
// C program to demonstrate pointer to pointer
int main(){
int element = 24;
// pointer for element
int *ptr2;
// double pointer for ptr2
int **ptr1;
// storing address of value in ptr2
ptr2 = &element;
// Storing address of ptr2 in ptr1
ptr1 = &ptr2;
// Displaying value of element using
// both single and double pointers
printf("element value = %d\n", element );
printf("element value using single pointer = %d\n", *ptr2 );
printf("element value using double pointer = %d\n", **ptr1);
return 0;
}Output
When the above program is executed, it produces the following result −
element value =24 element value using single pointer = 24 element value using double pointer = 24