title: About the array subscripting operator
body: <p>Quoting from the C11 standard :</p>
  <blockquote>
  <p><strong>Array subsripting (§ 6.5.2.1)</strong></p>
  <p>The definition of the subscript operator <code>[]</code> is that <code>E1[E2]</code> is identical to <code>(*((E1)+(E2)))</code>.</p>
  </blockquote>
  <p>I would like to know why are the brackets around <code>E1</code> necessary (they were missing in the C89 standard), <em>ie</em> in which expression can <code>(*(E1+(E2)))</code> be different from <code>(*((E1)+(E2)))</code> ?</p>