title: size of character array and size of character pointer
body: <p>I have a piece of C code and I don't understand how the <code>sizeof(...)</code> function works:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main(){
     const char  firstname[] = "bobby";
     const char* lastname = "eraserhead";
     printf("%lu\n", sizeof(firstname) + sizeof(lastname));
     return 0;
  }
  </code></pre>
  
  <p>In the above code sizeof(firstname) is 6 and sizeof(lastname) is 8.  </p>
  
  <p>But <code>bobby</code> is 5 characters wide and <code>eraserhead</code> is 11 wide.  I expect <code>16</code>. </p>
  
  <p>Why is sizeof behaving differently for the character array and pointer to character?</p>
  
  <p>Can any one clarify?</p>