double pointers
/* when we define a pointer to pointer. The first pointer is used to
store the address of the variable. And thesecond pointer is used to
store the address of the first pointer.*/
/* The first pointer ptr1 stores the address of the variable and the
second pointer ptr2 stores the address of the first pointer. */
/* The diagrams in the source are a big help check em out */