Объяснение
Указатель хранит адрес объекта, но сам по себе не хранит длину массива. Строка C заканчивается нулевым байтом. Для N символов требуется N+1 байт, если используется терминатор.
Задача для самостоятельного решения
Сколько байтов нужно для строки hello и почему sizeof указателя не даёт длину?
Показать разбор ответа
Нужно 6 байтов. sizeof указателя сообщает размер адреса в данной ABI, а strlen считает символы до нуля; вызывать strlen для массива без терминатора нельзя.