Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Еще раз о директиве #include




Мы уже использовали директиву #include для включения в текст нашей программы заголовочных файлов. Эта директива просто включает текст из указанного в ней файла в данный. (В Паскале имеется аналог ? {$i}.) Следует обязательно обратить внимание на то, что недаром #include называют директивой препроцессора. Смысл этого "пре" в том, что эта директива (равно как и другие, с которыми мы далее познакомимся) выполняется до того, как текст программы поступает на вход компилятора. сначала над текстом программы работает препроцессор (обрабатывает директивы,начинающиеся со знака #), а потом то, что получилось, поступает на вход компилятора. Это, кстати, хорошо согласуется с тем, что директивы препроцессора могут располагаться только на внешнем уровне, "внутрь" функций препроцессор "не лезет", а компилятор, в свою очередь, директив препроцессора не понимает.Приведем короткий пример, поясняющий сказанное, Мы уже выносили заголовки функций в отдельный файл. Можно довести ситуацию до абсурда и вообще все функции разнести по отдельным файлам:

Файл dayftmc.h

int DayInRussian(int) ;

int DayInEnglish(int);

Файл main.с

vo.id main(void)

{ <...> }

Файл russian.c

int DayInRussian(int n)

{ <...> }

Файл english.c

int DayInEnglish(int n)

{ <...> }

 

И, наконец, файл program.с, содержащий только одни лишь директивы #include:

#include <stdio.h>

#include "dayfunc.h"

#include "main.c"

#include "russian.c"

#include "english.c"

 





Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2019 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных