taille du tableau de caractères et taille du pointeur de caractère

J'ai un morceau de code C et je ne comprends pas comment les sizeof(...) fonction:

#include <stdio.h>

int main(){
   const char  firstname[] = "bobby";
   const char* lastname = "eraserhead";
   printf("%lu\n", sizeof(firstname) + sizeof(lastname));
   return 0;
}

Dans le code ci-dessus sizeof(prénom) est de 6 et sizeof(nom) est de 8.

Mais bobby est de 5 caractères de large et eraserhead est 11 de large. J'attends 16.

Pourquoi sizeof se comporter différemment pour le tableau de caractères, et un pointeur de caractère?

Quelqu'un peut-il préciser?

source d'informationauteur user2416871