Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лекция. Символьные строки и функции обработки строк.Стр 1 из 2Следующая ⇒
Строка представляет собой последовательность из одного или более символов, последним из которых является нулевой символ таблицы ASCII '\0'. Это единственный вид строки, определенный в C. Язык C поддерживает строковые константы, называемые строковыми литералами. Строковый литерал – это любая последовательность символов, заключенная в двойные кавычки (" …"). В конце литерала компилятор автоматически добавляет нулевой символ. Не следует путать понятия строки и символа. Символьная константа заключается в одинарные кавычки, а строковая – в двойные. Например, 'c' – символьная константа, а " c" – строковая константа. Литерал можно задать с помощью директивы препроцессора define: #define STR " …" Строковая переменная может быть сформирована как одномерный массив типа char, либо с помощью указателя на переменную типа char. Количество символов в массиве (объем выделяемой памяти) должно быть не меньше, чем количество символов в строке плюс один символ для хранения символа нуль. Строковые переменные описываются либо как массивы символов, либо как указатели на символ, например: char stroka[81]; //строка длинной до 80 символов char *str; //указатель на строку В первом случае память для строки выделяется (имя массива является адресом его первого символа), во втором случае – нет (выделяется только для указателя). Если строка будет вводится с клавиатуры, то лучше описать переменную как массив символов, иначе предварительно придется выделять память для строки, например, с помощью функции malloc(). Например, char *S1, S[10]=" Yes"; S1=S; При этом создаются переменная-указатель S1 и массив символов S, под который выделяется поле длиной 10 символов, 4 из которых будут заполнены. Затем в переменную-указатель записывается адрес символьного массива (рис. 1). Рис. 1. Строковая константа и указатель Функции gets() и puts() Для вводы и вывода строк символов служат функции gets(), puts(). Функция gets() вводит с клавиатуры строку, заменяя символ «перевод строки» на нуль-символ, и помещает ее по указанному адресу. Например: gets (stroka); /* ввод строки в массив строка */ Функция puts() выводит указанную строку на экран. Например, оператор puts(str); выведет на экран строку, на которую указывает переменная str, курсор после вывода переместится на новую строку.
|