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

Я только не пойму, строка это по сути массив из

char. А каждого элемента массива разные адреса ведь. Это ведь просто cout продолжает выводить, пока не встретит \0. Тогда как адрес первого символа может быть равен адресу строки? Ну для команды cout окей, а для других это ж может так и не работать.

6 ответов

5 просмотров

адрес первого символа равен адресу начала строки у всей строки не может быть одного адреса - это кусок памяти, а не один байт

Это работает всегда и для всего. Ну, если это конечно встроенный в С или С++ тип строки (ASCIIZ или std::string) .

Нарисуй строку в памяти, покажи где ее начало, вот это и будет адрес первого символа строки

объясню, как я понимаю массив — непрерывный отрезок байтов указатель на массив — указатель на его начало (т.е. на нулевой элемент) вот и получается по определению

Просто начало

Просто строка - это такая структура данных, у которой адрес строки и адрес первого элемента совпадают. У std::string кстати не так - её адрес не обязан совпадать с адресом её данных. А вот адрес первого символа строки string и всех символов этой строки тоже совпадают.

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
7
Карта сайта