ОБЪЯВЛЕНИЕ И ИНИЦИАЛИЗАЦИЯ СТРОК

Краткие итоги

Ключевые термины

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

Строки как параметры функций – это описание передачи значений строк в функции как массив символов или указатель типа char.

Указатель на строкуадрес начала расположения строки в памяти.

1. В силу специфики представления строк в виде символьного массива сами строки, строковые константы, заключенные в кавычки, и указатели на строки обрабатываются эквивалентно.

2. Строки передаются в функции в качестве параметров как массивы символов или как указатели типа char.

3. Обращение к конкретному элементу строки можно осуществить посредством адресации индексированного имени строки.

4. При формировании строки без использования стандартных функций требуется дописывать символ конца строки.

5. С помощью указателей на константы можно защитить строку от изменений.

6. Копирование строк с помощью указателей осуществляется через объявление нового указателя, адресующего область памяти, занимаемую строкой или подстрокой.

 

 

Класс string

Минимальный набор операций, которыми должен обладать класс string:

· инициализация массивом символов (строкой встроенного типа) или другим объектом типа string. Встроенный тип не обладает второй возможностью;

· копирование одной строки в другую. Для встроенного типа приходится используется функция strcpy();

· доступ к отдельным символам строки для чтения и записи. Во встроенном массиве для этого применяется операция взятия индекса или косвенная адресация;

· сравнение двух строк на равенство. Для встроенного типа используется функция strcmp();

· конкатенация двух строк, получая результат либо как третью строку, либо вместо одной из исходных. Для встроенного типа применяется функция strcat(), однако чтобы получить результат в новой строке, необходимо последовательно задействовать функции strcpy() и strcat();

· вычисление длины строки. Узнать длину строки встроенного типа можно с помощью функции strlen();

· возможность узнать, пуста ли строка. Класс string стандартной библиотеки С++ реализует все перечисленные операции (и гораздо больше, как мы увидим вглаве 6).

Для того чтобы использовать объекты класса string, необходимо включить соответствующий заголовочный файл:

#include <string>

 

Первая форма определения строки, представлена объектом типа string и инициализированной строкой символов:

 

string st ( "Цена пакета молока\n" );

 

Вторая форма определения строки задает пустую строку:

string st2; // пустая строка