What exactly are you trying to do? Make a pointer to a pointer?
(Sorry for "big wall of text". This is a little historical background for the need for pointer-to-pointer types, and their development.)
In the C/C++ world pointers to pointers are very often used to make lists such as lists of strings and structs.
This is because with this layout you can easily mark the end of the list with a NULL-pointer at the end:
example:
level pointer to pointer to NULL-terminated string:
[ptr str#1][ptr str#2][NULL-address]
@ the ptr str#1 address:
[H][a][i][ ][I]['][m][ ][#][1][NULL-char]
@ the ptr str#2 address:
[H][a][i][ ][I]['][m][ ][#][2][NULL-char]
Thus in the C/C++ languages they made it very easy to define "levels of indirection" by the use of the pointer operator * (asterisk).
A pointer to pointer to char is simply declared like this:
char **c;
And since the language threats pointers very similar to arrays you can then write this code to access the first char of the first string in the list (If i remember correclty):
c[0][0]
As you can imagine this notation makes it very easy for any developer to make a mistake in the "levels of indirection" and then you often get an access violation, and C is very infamous for exactly this kind of errors as a usual cause of problems.
Most languages of today has therefore left the "naked pointer" approach and use "object references" instead, which in many cases actually are "naked pointers" but with the difference that the languages/compilers are much more strict in the way you are allowed to access that memory according to the type of the object that is referenced.