In C, I know we can do this with pointers:
int *p; /* an int pointer (ptr to an int) */
int **pp; /* a pointer to an int pointer (ptr to a ptr to an int) */
And even:
int **app[]; /* an array of pointers to int pointers */
int (**ppa)[]; /* a pointer to a pointer to an array of ints */
int (**ppf)(); /* a pointer to a pointer to a function returning an int */
int *(*pap)[]; /* a pointer to an array of int pointers */
int **fpp(); /* a function returning a pointer to an int pointer */
But can we do something like three pointers to limitless? e.g.:
int ***ppp; /* a pointer to a pointer to an int pointer */
int ****pppp; /* a pointer to a pointer to a pointer to an int pointer */
...and so on till infinity.
Is there any upper limits to the numbers of pointers to a pointer we can have? If so, what is the upper limit?