Step 7 (S-2917)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/539/step/7

C-style строки.

В языке C строки представляли как массивы char-ов, которые заканчиваются специальным символом ‘\0’ (на самом деле, это просто символ с номером 0). C++ сохраняет (в основном) совместимость с языком C, и поэтому поддерживает работу с C-style строками.

Строковые литералы в С++ имеют тип массива, например, литерал “C-style string” имеет тип const char[15] — 14 символов строки и нулевой завершающий символ. Ключевое слово const в данном случае обозначает то, что изменять содержимое строки нельзя. Менять содержимое литералов — это довольно плохая затея. Для изменения строки, заданной строковым литералом, можно создать её копию в массиве:


char copy[15] = "C-style string";


Размер массива в таком определении указывать не обязательно — если массив инициализируется сразу при создании, то компилятор может и сам вычислить размер массива:



char copy[] = "C-style string"; // размер массива 15 char-ов

(Подробнее про ключевое слово const будет рассказано на следующей неделе.)