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

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

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

20 ответов

23 просмотра

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

Рамзан-Костин Автор вопроса
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 строки? Почем...

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

Разобрался?

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта