Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
30.05.2020
Размер:
428.13 Кб
Скачать

Строку-константу можно задать с помощью директивы препроцессора и с помощью

модификатора const:

#define OTVET1 "odin" //препроцессорная строка-константа const char str[3] ="dwa"; // типизированная строка-константа

Определение С-строк

строка как массив символов

const int n=10; char st [n];

char empty_str [ ]= "";

//строка-массив //нулевая (пустая) строка;

Равносильны определения строк:

char st1 [] = "Minsk";

//'\0' добавляется в конец строки автоматически

char st2 [6] = "Minsk";

char st3 [6] = {'M', 'i', 'n', 's', 'k', '\0'};

строка как указатель на char

char *st = “Minsk”;

//строка-указатель

char *empty_str = "";

// нулевая (пустая) строка;

строка как элемент массива строк1

char den[][10]= {"poned", "vtor", "sreda", "chetv", "pjatn", "sub", "voskr"};

строка как элемент массива указателей на char2

char *otvet1[] = {"odin", "dwa"};

особенности работы с С-строками в С++

для представления С-строк используются массивы элементов типа char, содержащие в конце последовательности значащих символов код ’\0’;

С-строка ограничена размером массива, который выделен для ее представления; размер нединамической С-строки должен быть задан только константным выражением;

cтрока может быть проинициализирована как поэлементно символьными значениями (с обязательным завершающим символом ‘\0’), так и значением строкового литерала (завершающий символ ‘\0’ формируется в этом случае в конце строки автоматически);

нулевая строка – это строка, которая начинается с 0-символа ‘\0’ (ее длина равна нулю, но в памяти она может занимать больше одного байта); нулевой указатель на строку (char *p_str = NULL;) не является эквивалентом нулевой строки;

текущая длина строки отслеживается в процессе выполнения действий над строкой;

1Об этих способах определения строк мы поговорим чуть позже в данной лекции

2Об этих способах определения строк мы поговорим чуть позже в данной лекции

Программирование – лекция 13 (лекции Стрикелевой Л.В.)

3

 

Соседние файлы в папке Лабораторні роботи