Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Описание строк

Free (s2); | Преобразование строки в целое число | Ш. Программа и тестовые примеры | Задача 2. Подсчет количества вхождений слова в текст | III. Программа и тестовые примеры |


Читайте также:
  1. II. ОПИСАНИЕ ЛАБОРАТОРНОЙ УСТАНОВКИ
  2. II. — Общее описание призрака.
  3. VIII Краткое описание структуры.
  4. Анализ работы: понятие, основные этапы и методы. Описание и спецификация работы.
  5. Библиографическое описание многотомного документа
  6. Библиографическое описание нормативно-правовых актов, последние редакции которых существуют только в электронном виде
  7. Библиографическое описание сериальных и других продолжающихся ресурсов

Строки и символы

В С++ есть два вида строк: С-строки и класс стандартной библиотеки С++ string. С -строка представляет собой массив символов, завершающийся символом с ко­дом 0 (этот вид строк, как вы догадались, пришел в С++ из языка С). Класс string более безопасен в использовании, чем С-строки, но и более ресурсоемок. Для грамотного использования этого класса требуется знание объ­ектно-ориентированного программирования, поэтому ограничимся рассмотрением С-строк.

Строковая константа — это последовательность символов, заключенная в двойные кавычки. В числе символов строки могут находиться любые символьные константы, например, "Звонок в конце сообще ния\007\n".

Соседние строковые константы транслятором «склеиваются». Например:

char s[n]= "АБВ""ГДЕ" означает то же, что char s[n]=""АБВГДЕ " При этом неважно, сколько разделителей (пробелов, знаков табуляции, пере­водов строк) стоит между константами.

 

Описание строк

Память подстроки, как и под другие массивы, может выделяться как компилятором, так и непосредственно в программе. Длина динамической строки может задавать­ся выражением, длина не-динамической строки должна быть только константным выражением. Чаще всего длина строки задается частным случаем константного выражения — константой. Удобно задавать длину с помощью именованной кон­станты, поскольку такой вариант, во-первых, лучше читается, а во-вторых, при возможном изменении длины строки потребуется изменить программу только в одном месте:

При задании длины необходимо учитывать завершающий нуль-символ. Напри­мер, в строке, приведенной выше, можно хранить не 80 символов, а только 79. Стро­ки можно при описании инициализировать строковыми константами, при этом нуль-символ в позиции, следующей за последним заданным символом, формиру­ется автоматически:

Если строка при определении инициализируется, ее размерность можно опускать (компилятор сам выделит память, достаточную для размещения всех символов строки и завершающего нуля):

 

Для размещения строки в динамической памяти надо описать указатель на char, а за­тем выделить память с помощью new или mal1ос (первый способ предпочтительнее):

Естественно, что в этом случае длина строки может быть переменной и задаваться на этапе выполнения программы. Динамические строки, как и другие динамиче­ские массивы, нельзя инициализировать при создании. Оператор

создает не строковую переменную, а указатель на строковую константу, изменить которую невозможно.

 

 


Дата добавления: 2015-07-19; просмотров: 69 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
СТРОЙОВА ЗАПИСКА| Ввод-вывод строк

mybiblioteka.su - 2015-2024 год. (0.005 сек.)