Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C. Тема 2. Раздел 1

.pdf
Скачиваний:
15
Добавлен:
21.03.2016
Размер:
808.3 Кб
Скачать

//Will the next line be

//executed????????????????/

a++;

??/ = \

Часть 3

#include "имя_файла.расширение" – включение любого файла

#include <имя_файла.h> – включение заголовочного файла из стандартной библиотеки

Файл program.c

#include "header.h"

/* Some text in program.c */

Файл header.h

/* Some text in header.h */

Файл program.c после обработки

препроцессором

/* Some text in header.h */

/* Some text in program.c */

Часть 4

Макросы используются для определения небольших фрагментов кода, автоматически заменяющих последовательности указанных символов в исходном коде

Макрос может иметь параметры, почти как функция

Макрос может не устанавливать замещаемый код, т.е. может быть пустым

Макрос без параметра, имеющий замещаемый код, называют символической константой

Макросы часто используются, как замена вызова функции небольшим участком кода

#define

ИМЯ_МАКРОСА(ПАРАМЕТРЫ_МАКРОСА) ЗАМЕЩАЕМЫЙ_КОД

Имена макросов принято писать целиком прописными буквами

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

Разделяются запятыми (если их несколько)

Не имеют типов данных

Могут отсутствовать (тогда скобки не пишут)

Замещаемый код может отсутствовать

В конце не ставится символ «;»

Не допускается объявлять два разных макроса с одинаковыми именами

Объявление макроса с параметрами

#define MAX(a, b) ((a) > (b) ? (a) : (b))

Использование макроса

z = MAX(x, y);

Результирующий код

z = ((x) > (y) ? (x) : (y));

Объявление символической константы

#define PI 3.14

Использование символической константы

d = 2 * PI * r;

Результирующий код

d = 2 * 3.14 * r;

Объявление пустого макроса

#define HEADER_H

Использование пустого макроса

#ifndef HEADER_H

...

#endif

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]