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

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

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

20 ответов

18 просмотров

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

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

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

Разобрался?

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

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

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

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Всем привет. Сейчас я изучаю erlang по книге Erlang and OTP in action. Дошел до главы где реализуется первый gen server на примере tcp rpc сервера. Меня очень сильно смутил ко...
Freezing Death
10
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
embassy это топ фреймворк для эмбеддед на данный момент?
AS Sarb
23
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
Подскажите... Есть ли название у способа разработки кода, в котором: сперва пишут минимальную рабочую структуру: Напр. ввод, обработка, вывод, контроль. Потом эту структуру д...
Budemposmotret
6
В дизассемблере вижу, что строки пихают в регистры через lea, почему так, а не через mov?
Oleg
8
Ребята, я 3 дня как вкатился в ардуино Думал на прогрессивном молодом языке Rust попилить что-нибудь А как-то грустно с библиотеками оказалось. Не подскажете почему так? Если...
AS Sarb
18
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Карта сайта