How many levels of pointers can we have?

c, c++, language-lawyer, limit, pointers

Solution

The `C` standard specifies the lower limit:

###5.2.4.1 Translation limits

276 The implementation shall be able to translate and execute at least one program that contains at least one instance of every one of the following limits: [...]

279 — 12 pointer, array, and function declarators (in any combinations) modifying an arithmetic, structure, union, or void type in a declaration

The upper limit is implementation specific.

Problem

How many pointers (`*`) are allowed in a single variable? Let's consider the following example. ``` int a = 10; int *p = &a; ``` Similarly we can have ``` int **q = &p; int ***r = &q; ``` and so on. For example, ``` int ****************zz; ```

Original source