Pointers to 2D arrays C, C++
<p>I'm learning about pointers:</p>

<pre><code>int x[10]; 
int *p = &amp;x
</code></pre>

<p>this would make a pointer type <code>int</code> to the first element. So, if I had 2D array, I need to use double pointer: first pointer would point to the second dimension of the array. This means :</p>

<pre><code>int x[3][4] = {{1,2,3,4},{5,6,7,8},{9,9,9,9}};
</code></pre>

<p>and when I want to point to it I must declare the size of the second dimension like this, right ?</p>

<pre><code>int *p[4] = x;
</code></pre>

<p>or there is another way by typing : <code>int **p</code>; ? </p>

<p>and <code>int *p[4]</code> is array of integer pointers which takes <code>4 * (sizeof(int*))</code>, right?</p>