cpp

Строки

Строка является массивом символов, последний элемент которого содержит нулевой символ ('\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

Учебник C++ (Qt Creator и MinGW)
Учебник C++ (Qt Creator и MinGW) в формате PDF