title: Where is a[0] pointing at?
body: <p>Let's say we have an array <code>char a[] = &quot;abcd&quot;</code>. When I print the following:</p>
  <pre><code>printf(&quot;%p\n&quot;, a);
  printf(&quot;%p\n&quot;, &amp;a);
  printf(&quot;%p\n&quot;, &amp;a[0]);
  printf(&quot;%p\n&quot;, a[0]);
  </code></pre>
  <p>I am getting the following results:</p>
  <pre><code>0061FF1B
  0061FF1B
  0061FF1B
  00000061
  </code></pre>
  <p>which means that <code>a[0]</code> is not pointing at the same memory address as either <code>%a[0]</code> or <code>a</code>. This is really confusing to me. I'd like someone to <em>point</em> out the <strong>difference</strong> between these pointers, and whether or not <code>a[0]</code> <strong>is</strong> / <strong>decays</strong> to a pointer.</p>