title: About pointer to multidimension array
body: <p>I read this from a book: for <code>double beans[3][4]</code></p>
  
  <p>if we want to make a pointer called it <code>pbeans</code> to point to it we need to declare it as</p>
  
  <pre><code>double (*pbeans) [4] =beans;
  </code></pre>
  
  <p>My question is:</p>
  
  <ol>
  <li><p>Why it is:</p>
  
  <p><code>double (*pbeans) [4] =beans</code>;</p>
  
  <p>but not:</p>
  
  <p><code>double[4] *pbeans =beans</code>;  ?</p></li>
  <li><p>And how should I read <code>double (*pbeans) [4]</code> ? 
  (say, const int <code>* const pi</code> we can read from right to left const pointer to integer constant).</p></li>
  </ol>