@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 байта.
Откуда взялся еще один байт?
  • Вопрос задан
  • 24 просмотра
Решения вопроса 1
char array[] = "Hi";
Это массив, состоящий из 3 charов, то есть его размер = 3 * 1 = 3
char* Array = "Hi";
Здесь Array - это указатель на строку. Его размер всегда одинаковый, будь это "Hi" или "Helllllllllllllo"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы