Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Цель работы

По некоторым оценкам, до 70% машинного времени тратится на работу с текстовыми строками [1, с. 139], что свидетельствует о важности этого типа данных. В то же время в языке Си специальный строковый тип отсутствует, хотя наличествует достаточно богатый набор функций обработки строк. Строка может быть смоделирована различными способами, причем в большей части случаев за многими деталями должен следить программист. Поэтому работа со строками в Си требует особой тщательности.

Цель лабораторной работы состоит в формировании умений:

- использовать различные способы описания и формирования строк;

- понимать и формулировать принципиальные различия этих способов;

- обрабатывать строки различными способами.

Основные положения

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

Специальный строковый тип в языке Си отсутствует. Строка в Си представляется одномерным массивом элементов типа char; последним элементом массива должен быть символ ‘\0’нуль-терминатор. Такой массив называется ASCIIZ – строкой.

Нуль-терминатор представляет собой символ с кодом 0 в таблице кодов и определяет конец строки; если он отсутствует, то обработка строки может продолжаться сколь угодно долго.



Строковая константа (или строковый литерал) представляет собой конструкцию:

 


К такой последовательности символ ‘\0’ компилятор добавляет автоматически.

Если внутри строки нужно использовать символ “, то его кодируют как \” (\ экранирует “).

Символ ‘\0’ проставляется в конце символьной последовательности (массива) автоматически, если:

- эта последовательность представляет собой строковый литерал;

- последовательность вводится функцией ввода строки gets (fgets) или функцией scanf (fscanf) в формате %s: scanf(“%s ”, < имя строки >).

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

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.