title: In 2D array A[m][n], how value of A is same as *A?
body: <p>What I know about 2D array:</p>
  <ol>
  <li>In array the array name is pointer to first element's address</li>
  <li>Here we can think A as array of array, so A would point to 0th 1D array</li>
  <li>So A+i would point to ith element of A</li>
  <li>*(A+i) would point to first element of ith element of A</li>
  <li>Then in 2D array A+i address value should be same as *(A+i)</li>
  </ol>
  <p>But this doesn't make sense to me how A value is same as of *A, can someone tell me how this is working in memory, I know it is correct but I can't explain it to myself</p>