Задать вопрос
@Whomai

( sizeof) Почему разные байты у строки, которую создали двумя разными способами?

#include

int main (void)
{

char array[] = "Hi";

char* Array = "Hi";

printf("\r\n%d bytes" , sizeof array);

printf("\r\n%d bytes", sizeof Array);

return 0;
}
После компиляции выдает : 3 и 4 байта.
Откуда взялся еще один байт?
  • Вопрос задан
  • 25 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
char array[] = "Hi";
Это массив, состоящий из 3 charов, то есть его размер = 3 * 1 = 3
char* Array = "Hi";
Здесь Array - это указатель на строку. Его размер всегда одинаковый, будь это "Hi" или "Helllllllllllllo"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы