title: Pointer arithmetic with multidimensional Array Notation
body: <p>This is my first question :)</p>
  
  <pre><code>double MyArray[][6];
  double* Myptr = MyArray[0];
  </code></pre>
  
  <p>So i've been wondering why, in pointer Arithmetic, I can notate a pointer to move in a single dimension like this,</p>
  
  <pre><code>*(Myptr + i);
  </code></pre>
  
  <p>but if i try to move through the dimensions  of the array using a for loop it won't let me</p>
  
  <pre><code>*(*(Myptr + i) + j); 
  </code></pre>
  
  <p>However it does let me use this notation with the array itself.</p>
  
  <pre><code>*(*(MyArray + i) + j);
  </code></pre>
  
  <p>I wanted to know why is this a restriction? or maybe i am writing it down incorrectly. </p>