всегда используется как c-style string), если размер значения этого указателя заранее неизвестен? Во время прохода по строке определяется каждую итерацию, валиднен ли участок памяти с таким размером?
Размер указателя всегда известен. Вы запутались в определениях.
Я имею в виду не самого указателя, а того, что находится за указателем
В том-то и дело, что неизвестен
c-style строки имеют один характерный признак. Скажите, какой?
То, что они указывают на участок памяти, где хранится строка. Обычно. Но может кто-нибудь ссылается на единичный символ, что странно конечно, но если у кого-то есть такие задачи - почему бы и нет
Неправильно. У этих строк всегда есть нуль терминатор в конце.
Все строки — это в том или ином виде указатель на начало этой строки :)
Что именно не правильно?
То, что вы не сказали характерного признака c-style строки.
Кто определяет характерность c-style строки? Почему бы не охарактеризовать этот указатель как то, что указывает на участок памяти, где содержится строка? Я все правильно написал. Токсичность... В определенных кругах я часто сталкиваюсь с новичками, которые задают простые вопросы, которые гуглятся очень быстро. Но превращать это в экзамен с "правильно"-"неправильно" - глупость. Если нет настроения или желания помочь нормально - для чего вообще тратить свое время?
Потому что "участок памяти" у тебя всегда бывает только одного размера — 1 байт, и в него вся твоя строка никак не уместится
Я Вам все нормально написал. c-style строка именно ей и является благодаря нуль терминатору. Без нуль терминатора это просто последовательность чаров. Читаем. И еще тут. Указатели могут различаться только типом на что они указывают.
Под участком памяти я имею в виду не ячейку, а множество ячеек просто)
К тому же тебе как раз-таки объяснили самую главную особенность Си-строки: последним символом всегда является '\0' (поэтому и называется нультерминированной строкой)
Вот не бывает на множество ячеек, понимаешь?
Указатель хранит адрес. Не 2, не 3 адреса, а один адрес.
> Кто определяет Стандарт языка Си, который и ввёл строковые литералы, автоматически преобразующиеся в массивы чаров с терминирующим нулём
Разобрался?
Да, спасибо!
Обсуждают сегодня