title: Why is address of an array variable the same as itself?
body: <p>In C, if we have an array like <code>a[10]</code>, then <code>a</code> and <code>&amp;a</code> have the same pointer value (but not the same type). I want to know why was C designed like this?</p>
  
  <p>Was this to save the additional space required for storing <code>&amp;a</code>? ... This makes sense when you think of the fact that <code>a</code> can never point to any other location, so storing <code>&amp;a</code> is meaningless.</p>