Программирование на языке С - 33 стр.

UptoLike

Составители: 

33
Лабораторная работа 6
РАБОТА СО СТРОКАМИ В ЯЗЫКЕ С
Цель работы: изучить базовые операции работы со строками.
Теоретические сведения
В языке С нет специального типа данных для строковых переменных. Для
этих целей используются массивы символов (тип char). Следующий пример
демонстрирует использование строк в программе:
char str_1[100] = {‘П’,’р’,’и’,’в’,’е’,’т’,’\0’};
char str_2[100] = “Привет”;
char str_3[] = “Привет”;
printf(“%s\n%s\n%s\n”,str_1,str_2,str_3);
В приведенном примере показаны три способа инициализации строковых
переменных. Первый способ является классическим объявлением массива,
второй и третий используются специально для строк. Причем в последнем
случае, компилятор сам определяет нужную длину массива для записи строки.
Анализируя первый и второй способы инициализации массива символов
возникает вопрос: каким образом язык С++ «знает»
где заканчивается строка?
Действительно, массив str_2 содержит 100 элементов, а массив str_3 меньше
100, тем не менее длина строки и в первом и во втором случаях одна и та же.
Такой эффект достигается за счет использования специальных управляющих
кодов, которые говорят где заканчивается строка или где используется перенос
внутри одной строки и т.п.
В частности символ ‘\0’ означает в языке С++ конец
строки и все символы после него игнорируются как символы строки.
Следующий пример показывает особенность использования данного
специального символа.
char str1[10] = {‘Л’,’е’,’к’,’ц’,’и’,’я’,’\0’};
char str2[10] = {‘Л’,’е’,’к’,’ц’, ’\0’,’и’,’я’ };
char str3[10] = {‘Л’,’е’, ’\0’,’к’,’ц’,’и’,’я’ };
printf(“%s\n%s\n%s\n”,str1,str2,str3);
Результатом работы данного кода будет вывод следующих трех строк: