Директива #include в C/C++ с примерами

#include - это способ включения в программу стандартного или определяемого пользователем файла, который в основном пишется в начале любой программы на C/C++.

Директива

Эта директива читается препроцессором и приказывает ему вставить в данную программу содержимое пользовательского или системного заголовочного файла. Эти файлы в основном импортируются из внешнего источника в текущую программу.

Процесс импортирования таких файлов, которые могут быть системными или пользовательскими, известен как File Inclusion (англ. - включение файлов). Этот тип директивы препроцессора указывает компилятору включить файл в исходный код программы.

Вот два типа файлов, которые могут быть включены с помощью #include:

1. Заголовочный файл или стандартный файл. Это файл, который содержит C/C++ объявления функций и макроопределения для совместного использования между несколькими исходными файлами.

Такие функции, как printf(), scanf(), cout, cin и различные другие функции ввода-вывода или другие стандартные функции содержатся в различных заголовочных файлах. Поэтому для использования этих функций пользователям необходимо импортировать несколько заголовочных файлов, которые определяют требуемые функции.

2. Файлы, определяемые пользователем. Эти файлы похожи на заголовочные файлы, за исключением того, что они написаны и определены самим пользователем. Это избавляет пользователя от многократной записи определенной функции. После записи пользовательский файл может быть импортирован в любое место программы с помощью препроцессора #include.

Синтаксис

Включая использование " ". При использовании двойных кавычек (" ") препроцессор получает доступ к текущей директории, в которой находится исходный "header_file". Этот тип в основном используется для доступа к любым заголовочным файлам пользовательской программы или пользовательским файлам.

#include "user-defined_file"

Включая использование < >. При импорте файла с использованием угловых скобок(< >) препроцессор использует предопределенный путь к каталогу для доступа к файлу. В основном он используется для доступа к системным заголовочным файлам, расположенным в стандартных системных каталогах.

#include <header_file>

Пример 1. Здесь показан импорт системного заголовка ввода/вывода или стандартного файла.

Для языка C:

// C program showing the header file including 
// standard input-output header file 
  
#include <stdio.h> 
  
int main() 
{   
    // "printf()" belongs to stdio.h 
    printf("hello world"); 
    return 0; 
} 

Для языка C++:

// C++ program showing the header file including 
// standard input-output header file 
  
#include <iostream> 
using namespace std; 
  
int main() 
{ 
  
    // "cout" belongs to "iostream" 
    cout << "hello world"; 
    return 0; 
} 

Программа выведет:

hello world

Пример 2. Создание и импорт пользовательского файла.

Создание пользовательского заголовка с именем "process.h".

// It is not recommended to put function definitions 
// in a header file. Ideally there should be only 
// function declarations. Purpose of this code is 
// to only demonstrate working of header files. 
  
void add(int a, int b) 
{ 
    printf("Added value=%d\n", a + b); 
} 
  
void multiply(int a, int b) 
{ 
    printf("Multiplied value=%d\n", a * b); 
} 

Созданный основной файл, в который будет включен вышеприведенный "process.h".

// C program to illustrate file inclusion 
// <> used to import system header file 
#include <stdio.h> 
  
// " " used to import user-defined file 
#include "process.h" 
  
// main function 
int main() 
{ 
    // add function defined in process.h 
    add(10, 20); 
  
    // mult function defined in process.h 
    mult(10, 20); 
  
    // printf defined in stdio.h 
    printf("Process completed"); 
    return 0; 
} 

Объяснение

Включение файла "process.h" в другую программу. Теперь, когда нам нужно включить stdio.h в качестве #include, чтобы аналогичным образом использовать функцию printf(), нам также нужно включить заголовочный файл process.h в виде #include "process.h".

Двойные кавычки " " предписывают препроцессору просмотреть текущую папку или стандартную папку всех заголовочных файлов, если они не найдены в данной папке.

Если вместо " " используются угловые скобки, то необходимо сохранить ее в стандартную папку заголовочных файлов. При использовании " " необходимо убедиться, что созданный заголовочный файл сохранен в той же папке, в которой находится текущий C-файл, использующий этот заголовочный файл.

16 мая 2020 в 01:00 | Обновлено 7 ноября 2020 в 01:19 (редакция)
Опубликовано:
Статьи,

1 комментарий

  1. Фёдор
    19 мая 2020 в 09:48

    в начало скетча. Таким образом определяется доступность библиотеки Morse и ее подключение. Неиспользуемую библиотеку можно удалить, убрав директиву

    Ответить

Добавить комментарий

Ваш E-mail не будет никому виден. Обязательные поля отмечены *