АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Строки символов в языке C

Прочитайте:
  1. II. КОНЦЕПЦИЯ И ВЫРАЖЕНИЕ ПОНЯТИЯ ИГРЫ В ЯЗЫКЕ
  2. Выучите обозначения символов, применяемых при составлении генеалогического древа.
  3. Не просите поэта выражаться на языке обывателя.
  4. Отдельные строки
  5. Разминка антистрессовая, приемы и спецприемы, целевые установки — на естественном языке «внутренней речи».
  6. Строки виготовлення й ремонту протезно-ортопедичних виробів ортопедичного взуття
  7. Условные обозначения символов семейной генограммы
  8. Ы Вёрстка. В таблице много (минимум 7) греческих символов из Symbol: прошу также проверить, не введены ли они вставкой.

В языке C в явном виде строкового типа данных нет. Имеются лишь строковые константы, представляемые в памяти вектором символов с признаком конца '\0': транслятор автоматически добавляет к ним нулевой байт.

строковая-константа::= "символ..."

Значением строковой константы является указатель (адрес) соответствующего текста. Переменная строка описывается как массив символов. Можно описать строку как указатель на символ (пример 3.9). Тогда может потребоваться запрос памяти для нее (функция malloc()). Если необходимо использовать библиотечные функции над строками, программист должен заботиться о наличии в строке признака конца '\0'. В иных случаях можно применять и другое представление строк.

 

Пример 3.13. Строки в языке C

 

char *p; /* Указатель на символ */

...

p= "КАИ"; /* Адрес текста, занимающего 4 байта: 'К', 'А', 'И', '\0' */

printf (p); /* Эквивалентно printf ("КАИ"); */

 

Системная библиотека содержит функции над строками символов, рассчитанные на представление строк с нулевым признаком конца (как у строковых констант), например: определение длины строки strlen, копирование строки strcpy, сцепление строк strcat, сравнение строк strcmp, поиск в строке указанного символа strchr и др. Для использования этих функций в программу требуется включить их прототипы командой #include <string.h>.

 

Пример 3.14. Использование строковых функций в языке C

 

char t1[81], t2[51], t3[81], *p;

gets(t1); /* Ввод в t1 строки до '\n', '\t' или пробела */

if (strlen(t1) < 51) /* Длина строки < 51 */

strcpy (t2, t1); /* Копирование строк: t1 в t2 */

if ((p=strrchr(t2,'.'))!=NULL) /* Есть точка в строке t2 */

{ *p = '!'; /* Замена в строке t2 правой точки на '!' */

*(p+1) = '\0'; /* Удаление части t2 после правой точки */

}

gets(t3);

if (strcmp(t1,t3)==0) puts ("Строки равны");

 


Дата добавления: 2015-09-27 | Просмотры: 398 | Нарушение авторских прав







При использовании материала ссылка на сайт medlec.org обязательна! (0.005 сек.)