title: Why is x[0] != x[0][0] != x[0][0][0]?
body: <p>I'm studying a little of C++ and I'm fighting with pointers. I understand that I can have 3 level of pointers by declaring:</p>
  
  <pre><code>int *(*x)[5];
  </code></pre>
  
  <p>so that <code>*x</code> is a pointer to an array of 5 elements that are pointers to <code>int</code>.
  Also I know that <code>x[0] = *(x+0);</code>, <code>x[1] = *(x+1)</code>and so on....</p>
  
  <p>So, given the above declaration, why is <code>x[0] != x[0][0] != x[0][0][0]</code> ?</p>