размер массива символов и размер указателя символов
У меня есть кусок кода 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 ведет себя по-разному для символьного массива и указателя на символ?
Кто-нибудь может уточнить?