Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга6.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.45 Mб
Скачать

1.9 Директиви препроцесора

При запуску компіляції програми на С, починає діяти спеціальна програма – препроцесор.

Препроцесор – це попередній обробник тексту програми на С, який знаходить директиви препроцесора та виконує їх. Кожна директива препроцесора починається з символу #. Тільки після виконання препроцесором всіх своїх директив, починається трансляція тексту з мови С на мову машинних команд.

Найбільш частіше використовуються такі директиви препроцесора:

  • #include (включає файл у текст програми);

  • #define (замінює ідентифікатор на літерал).

Директива #include має два формати:

  • #include "ім'я_файлу";

  • #include <ім'я_файлу>.

Якщо ім'я файла вказане в лапках, то його пошук здійснюється в по­точному каталозі користувача. Якщо ім'я файла задане в кутових дужках, то його пошук проводиться в стандартних директоріях операційної системи, наприклад, для компілятора DevC++ це «C:\Dev-C++\Include\».

Приклад 1.8. Синтаксис бібліотек.

# include <stdio.h> /* підключення стандартної бібліотеки

введення-виведення stdio.h */

# include <stdlib.h> /* підключення стандартної бібліотеки

stdlib.h */

# include «myfync.h» /* підключення файлу користувача

myfync.h */

Формат директиви # define:

# define стрічка_1 стрічка_2

де стрічка_1 – ідентифікатор, стрічка_2 – літерал.

Директива #define замінить всі появи ідентифікатора «стрічка_1» у вихідному файлі на літерал «стрічка_2». Заміна ідентифікатора буде здійснена тільки тоді, коли він формує лексему. Наприклад, ідентифікатор «стрічка_1» не буде замінений, якщо він присутній у стрічковому літералі чи є частиною довшого ідентифікатора.

Приклад 1.9. Запис директиви #define.

# define SIZE 12 /* у тексті програми всі лексеми SIZE

будуть замінені на цілий літерал 12.*/

Варто відмітити що при використанні # define немає необхідності у використанні оператора «;».

Файли заголовків мають розширення ".h", а файли коду – розширення ".с" або ".срр".

Файли коду містять реалізацію програми користувача і мають розширення ".с" або ".срр". Вони складаються з однієї або більше функцій. Одна з функцій, з яких починається виконання програми, повинна мати ім'я main. Функція main відрізняється від інших функцій тим, що її не можна викликати зсередини програми, а її параметри задаються операційною системою. Параметри у функції main можуть бути відсутні.

Виклик функції (активізація) виконується двома способами: класичним – за іменем; побічно – через покажчик на функцію (див. тему "Покажчики"). Класичний спосіб виклику функції проводиться за допомогою вказівки імені в дужках, за яким указується список параметрів (аргументів). Список параметрів являє собою значення (змінних, констант, покажчиків констант або адрес), які необхідно передати функції для успішного розв'язання задачі. Функція активізується завжди, коли в керуючій програмі зустрічається ім'я функції.

Після виконання відповідної функції управління передається назад у середовище програми (за винятком особливих ситуацій), яка продовжує свою роботу.

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