размер массива символов и размер указателя символов

У меня есть кусок кода C, и я нене понимаю, какsizeof(...) функция работает:

#include 

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

В приведенном выше коде sizeof (firstname) равен 6, а sizeof (фамилия) равен 8.

Ноbobby 5 символов в ширину иeraserhead 11 в ширину. Я жду .16

Почему sizeof ведет себя по-разному для символьного массива и указателя на символ?

Кто-нибудь может уточнить?

Ответы на вопрос(5)

Ваш ответ на вопрос