reading this question: [What is the difference between int\* x[n][m] and int (\*x) [n][m]?](https://stackoverflow.com/questions/22935024/what-is-the-difference-between-int-xnm-and-int-x-nm)

the correct reply stated this:

```
int arr[2][3];
int (*p1)[2][3] = &arr;  // arr decays to int(*)[3], so we need to take the address
int (*p2)[2][3] = new int[42][2][3]; // allocate 42 arrays dynamically

```

the comment in that last line says it allocates 42 new arrays.
how does that work? can someone explain that to me?

thanks!

i would reply on that question, but i can't, so new question it is (: