A pointer to a pointer, also known as a double pointer or pointer-to-pointer, is a special type of pointer that holds the address of another pointer variable. This allows indirect access to the value and memory address stored by the second pointer.