title: Passing 2D array as argument
body: <p>In thsi example:</p>
  
  <pre><code>int a[2][2]={{1,2},{3,4}};
  int *p=a[0];
  cout&lt;&lt;p;
  cout&lt;&lt;&amp;a[0][0];
  </code></pre>
  
  <p>Both gives the same output.
  Then why am I not able to call function (say fun)like this and loop through the array:</p>
  
  <pre><code>fun(a[0]);
  
  fun(int *p)
  {
  cout&lt;&lt;p[1][1];
  }
  </code></pre>