What does (int **array;) create?

c++, pointers, variables

Solution

The compiler reserves four bytes (on a 32bit system, eight bytes on 64bit) to store a pointer (that would point to another pointer, that would point to an int). No further memory allocation is done, it is left to the programmer to actually set the pointer to point to some other memory location where the `int*`/array/... is stored.

Problem

I want to know what is happening in memory when you declare: ``` int **array; ```

Original source