![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для хранения текстовых строк из m символов необходимо определить одномерный массив символов с количеством элементов, равным m + 1:
const m = 20;
char Str [m + 1];
или
char Str [21];
Переменная Str может использоваться для хранения текстовых строк, содержащих не более 20 символов (максимум 20 обычных символов + нулевой символ ‘\0’).
Нулевой символ позволяет определить границу между содержащимся в строке текстом и неиспользованной частью строки.
При определении строковых переменных их можно инициализировать конкретными значениями с помощью строковых литералов:
char S1 [15] = “This is text”;
char S2 [ ] = “Это пример текста”;
char S3 [20] = “”;
char S4 [ 5 ] = “Error”;
Картинка памяти для строки S1 будет такой:
‘T’ | ‘h’ | ‘i’ | ‘s’ | ‘ ’ | ‘i’ | ‘s’ | ‘ ’ | ‘t’ | ‘e’ | ‘x’ | ‘t’ | ‘\0’ |
Последние два элемента переменной S1 в данном случае не используются.
Строка S2 автоматически подстраивается под длину инициализирующего текста (плюс нулевой символ) и будет содержать 18 символов.
Строка S3 инициализируется “пустой” строкой “” и содержит один нулевой символ ‘\0’.
Попытка инициализировать строку S4 словом “Error” закончится неудачей, так как в переменную S4, имеющую размер в 5 символов, можно записывать тексты с максимальным количеством символов не более 4.
При работе со строками можно обращаться к отдельным символам строки как в обычном одномерном массиве с помощью индексов:
cout << S1[6]; // На экран будет выведен символ ‘s’
Если строка формируется программно, необходимо в конец ее обязательно записать нулевой символ ‘\0’:
char Str[21];
int i = 0;
for (char c = ‘A’; i < 6; i++, c++)
Str [i] = c;
Str [i] = ‘\0’; // “закрываем” строку нулевым символом
cout << Str << endl; // на экран выведено: ABCDEF
Если не добавить нулевой символ, то на экран будут выведены все 21 символов массива Str. Значения последних 14 символов предсказать невозможно.
Дата публикования: 2014-11-26; Прочитано: 159 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!