Задать вопрос
@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 байта.
Откуда взялся еще один байт?
  • Вопрос задан
  • 30 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по информационной безопасности + ИИ
    9 месяцев
    Далее
Решения вопроса 1
char array[] = "Hi";
Это массив, состоящий из 3 charов, то есть его размер = 3 * 1 = 3
char* Array = "Hi";
Здесь Array - это указатель на строку. Его размер всегда одинаковый, будь это "Hi" или "Helllllllllllllo"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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