Мегаобучалка Главная | О нас | Обратная связь


Несколько разнообразных функций



2019-12-29 210 Обсуждений (0)
Несколько разнообразных функций 0.00 из 5.00 0 оценок




 

Стандартная библиотека предоставляет множество разнообразных функций, некоторые из которых оказываются особенно полезными. Мы уже упоминали функции для работы со строками: strlen, strcpy, strcat и strcmp. Вот некоторые другие.

 

9.9.1. Проверка вида символов и преобразования. Некоторые макросы выполняют проверку символов и преобразования. Возврат ненулевого значения – это true (истина), а ненулевого значения – false (ложь). Например, для переменой int n справедливо:

;

;

;

;

;

.

Кроме того, существуют две полезные функции:

int n = oupper(c) – преобразует букву c в прописную;

int n = olower(c) – преобразует букву c в строчную.

Такие функции мы уже научились создавать сами.

 

9.9.2. Функция ungetc . Стандартная библиотека содержит довольно ограниченную версию функции ungetch, написанной нами в главе 5 она называется ungetch. В результате обращения:

ungetc(c,fp)

символьная переменная c возвращается в файл fp. Позволяется возвращать в каждый файл только один символ. Функция ungetc может быть использована в любой из функций ввода и с макросами типа scanf, getc или getchar.

 

9.9.3. Обращение к системе. Функция system(s) выполняет команду, содержащуюся в символьной строке s, и затем возобновляет выполнение текущей программы. Содержимое s сильно зависит от используемой операционной системы. В качестве тривиального примера, укажем, что на системе U nix строка:

system("date");

приводит к выполнению программы date, которая печатает дату и время дня.

9.9.4. Управление памятью. Функция calloc весьма сходна с функцией alloc, использованной нами в предыдущих главах. В результате обращения:

calloc(n, sizeof(objcct))

возвращается либо указатель пространства, достаточного для размещения n объектов указанного размера, либо NULL, если запрос не может быть удовлетворен. Отводимая память инициализируется нулевыми значениями.

Указатель обладает нужным для рассматриваемых объектов выравниванием, но ему следует приписывать соответствующий тип, как в:

char *calloc();

int *ip;

ip=(int*) calloc(n,sizeof(int));

 

Функция cfree(p) освобождает пространство, на которое указывает p, причем указатель p певоначально должен быть получен в результате обращения к calloc. Здесь нет никаких ограничений на порядок освобождения пространства, но будет неприятнейшей ошибкой освободить что-нибудь, что не было получено обращением к calloc.

Данные функции управления памятью есть в составе операционной системы. Однако, язык C++ предоставляет удобный оператор new, который обеспечивает то же самое. Реализация программы распределения памяти, подобной calloc, в которой размещенные блоки могут освобождаться в произвольном порядке, продемонстрирована в главе 8 с помощью операторов new и sizeof.


ЛИТЕРАТУРА

 

1. Болски М.И. Язык программирования Си: Справочник. – М.: Радио и связь, 2000. – 96 с.

2. Керниган Б., Пайк Р. Практика программирования. – СПб.: Невский диалект, 2001. – 381 с.

3. Керниган Б., Ритчи Д. Язык программирования Си. – СПб.: Невский диалект, 2001 + М.: Финансы и статистика, 2001. – 352 с.

4. Кнут Д. Искусство программирования. Том 1. – М.: Статистика, 1975. – 568 с.

5. Круглински Д. Дж., Уингоу С., Шеферд Дж. Программирование на Microsoft Visual С++ 6.0 для профессионалов. – СПб.: Питер; М.: Русская редакция, 2001. – 864 с.

6. Крупник А.Б. Изучаем Си. – СПб.: Питер, 2002. – 256 с.

7. Крупник А.Б. Изучаем С++. – СПб.: Питер, 2002. – 251 с.

8. Шилдт Г. Программирование на С и С++ для Windows. – К.: Торгово-издательское бюро BHV, 2001. – 408 с.

 

 


 


* См. А. Крупник «Изучаем C++». – Глава 1. Что такое программирование. – СПб.: Питер, 2003. –
251 с.

5 Слова «ячейка» и «байт» обозначают одно и то же – восемь по­следовательных битов.

* Именно в честь Августы Ады дано название одному из современных языком программирования: АДА

* Определение деления с остатком в этом случае содержится в доказательстве, которое нужно выполнить в упражнении 1.15.

*) Конечно, «оператор» может состоять из нескольких операторов – блока, заключенного в фигурные скобки

* См.: Емельянов А.А. Власова Е.А., Дума Р.В. Имитационное моделирование экономических процессов. – М.: Финансы и статистика, 2003. – 368 с.

* Эта особенность есть только в Unix



2019-12-29 210 Обсуждений (0)
Несколько разнообразных функций 0.00 из 5.00 0 оценок









Обсуждение в статье: Несколько разнообразных функций

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (210)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)