170 похожих чатов

Каким образом функции могут считывать указатель на char (который почти

всегда используется как c-style string), если размер значения этого указателя заранее неизвестен? Во время прохода по строке определяется каждую итерацию, валиднен ли участок памяти с таким размером?

20 ответов

20 просмотров

Размер указателя всегда известен. Вы запутались в определениях.

Рамзан-Костин Автор вопроса
d7d1cd
Размер указателя всегда известен. Вы запутались в ...

Я имею в виду не самого указателя, а того, что находится за указателем

Рамзан Костин
Самой строки

c-style строки имеют один характерный признак. Скажите, какой?

Рамзан-Костин Автор вопроса
d7d1cd
c-style строки имеют один характерный признак. Ска...

То, что они указывают на участок памяти, где хранится строка. Обычно. Но может кто-нибудь ссылается на единичный символ, что странно конечно, но если у кого-то есть такие задачи - почему бы и нет

Рамзан Костин
То, что они указывают на участок памяти, где храни...

Неправильно. У этих строк всегда есть нуль терминатор в конце.

Рамзан Костин
То, что они указывают на участок памяти, где храни...

Все строки — это в том или ином виде указатель на начало этой строки :)

Рамзан Костин
Что именно не правильно?

То, что вы не сказали характерного признака c-style строки.

Рамзан-Костин Автор вопроса
d7d1cd
То, что вы не сказали характерного признака c-styl...

Кто определяет характерность c-style строки? Почему бы не охарактеризовать этот указатель как то, что указывает на участок памяти, где содержится строка? Я все правильно написал. Токсичность... В определенных кругах я часто сталкиваюсь с новичками, которые задают простые вопросы, которые гуглятся очень быстро. Но превращать это в экзамен с "правильно"-"неправильно" - глупость. Если нет настроения или желания помочь нормально - для чего вообще тратить свое время?

Рамзан Костин
Кто определяет характерность c-style строки? Почем...

Потому что "участок памяти" у тебя всегда бывает только одного размера — 1 байт, и в него вся твоя строка никак не уместится

Рамзан Костин
Кто определяет характерность c-style строки? Почем...

Я Вам все нормально написал. c-style строка именно ей и является благодаря нуль терминатору. Без нуль терминатора это просто последовательность чаров. Читаем. И еще тут. Указатели могут различаться только типом на что они указывают.

Рамзан-Костин Автор вопроса
Hvost 🦊♠️
Потому что "участок памяти" у тебя всегда бывает т...

Под участком памяти я имею в виду не ячейку, а множество ячеек просто)

Hvost 🦊♠️
Потому что "участок памяти" у тебя всегда бывает т...

К тому же тебе как раз-таки объяснили самую главную особенность Си-строки: последним символом всегда является '\0' (поэтому и называется нультерминированной строкой)

Рамзан Костин
Под участком памяти я имею в виду не ячейку, а мно...

Указатель хранит адрес. Не 2, не 3 адреса, а один адрес.

Рамзан Костин
Кто определяет характерность c-style строки? Почем...

> Кто определяет Стандарт языка Си, который и ввёл строковые литералы, автоматически преобразующиеся в массивы чаров с терминирующим нулём

Разобрался?

Рамзан-Костин Автор вопроса

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
Карта сайта