Yes, you can have pointers to pointers (or pointers to pointers to pointers), and yes, if necessary, pointers are also stored at an address in memory.
However, as with all stack variables, the compiler is free to avoid writing data to memory if it can determine that it is not necessary. If you never accept the address of a variable, and it does not need to survive the current region, the compiler can simply store the value in a register.
source share