Double Pointer (Pointer to Pointer) in C
Prerequisite : Pointers in C and C++
We already know that a pointer points to a location in memory and thus 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 variable. And the second pointer is used to store the address of the first pointer. That is why they are also known as double pointers.
How to declare a pointer to pointer in C?
Declaring Pointer to Pointer is similar to declaring pointer in C. The difference is we have to place an additional ‘*’ before the name of pointer.
int **ptr; // declaring double pointers
Below diagram explains the concept of Double Pointers: