Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Строки
Строка является массивом символов, последний элемент которого содержит нулевой символ ('\0'
). Обратите внимание на то, что нулевой символ (нулевой байт) не имеет никакого отношения к символу '0'
. Коды этих символов разные. Такие строки достались в наследство от языка C, поэтому их часто называют C-строками. В языке C++ помимо C-строк можно также использовать экземпляры класса string
. Класс string
мы рассмотрим немного позже.
Объявляется C-строка также как и массив элементов типа char
:
char str[7];
При инициализации можно перечислить символы внутри фигурных скобок:
char str[7] = {'S', 't', 'r', 'i', 'n', 'g', '\0'};
или указать строку внутри двойных кавычек:
char str[7] = "String";
При использовании двойных кавычек следует учитывать, что длина строки на один символ больше, так как в конец будет автоматически вставлен нулевой символ. Если это не предусмотреть и объявить массив из шести элементов, вместо семи, то будет ошибка при работе со строкой в дальнейшем.
Если размер массива при объявлении не указать, то он будет определен автоматически в соответствии с длиной строки:
char str[] = "String";
Обратите внимание на то, что присваивать строку в двойных кавычках можно только при инициализации. Попытка присвоить строку позже приведет к ошибке:
char str[7];
str = "String"; // Ошибка!!!
Внутри строки в двойных кавычках можно указывать специальные символы (например, \n
, \r
и др.). Если внутри строки встречается кавычка, то ее необходимо экранировать с помощью обратного слэша:
char str[] = "Группа \"Кино\"\n";
Объявить массив строк можно следующим образом:
char str[][20] = {"String1", "String2", "String3"};
std::cout << str[0] << std::endl; // String1
std::cout << str[1] << std::endl; // String2
std::cout << str[2] << std::endl; // String3