Introduction
Pointers to pointers let you store the address of a pointer. This helps when you want to change a pointer inside a function or manage multiple levels of data.
When you want a function to change the address stored in a pointer.
When working with arrays of strings (like list of words).
When managing dynamic multi-dimensional arrays.
When you need to pass a pointer by reference to another function.