Задать вопрос
@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 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1С-программист
    10 месяцев
    Далее
  • Skillbox
    Профессия 1C-разработчик
    8 месяцев
    Далее
  • Hi-TECH Academy
    KL 004.2.4 Kaspersky SD-WAN
    2 дня
    Далее
Решения вопроса 1
char array[] = "Hi";
Это массив, состоящий из 3 charов, то есть его размер = 3 * 1 = 3
char* Array = "Hi";
Здесь Array - это указатель на строку. Его размер всегда одинаковый, будь это "Hi" или "Helllllllllllllo"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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