Заголовочный файл C — это фундаментальный компонент программирования на языках C и C++, который обычно обозначается расширением .h. Он служит хранилищем для объявлений, включая прототипы функций, макроопределения, определения типов и глобальные переменные, которые должны быть доступны в нескольких файлах исходного кода. Используя заголовочные файлы, разработчики могут поддерживать модульность кодовой базы, позволяя различным частям программы взаимодействовать друг с другом без необходимости повторного определения структур или сигнатур функций. Когда исходный файл включает заголовочный файл с помощью директивы препроцессора #include, компилятор фактически копирует содержимое заголовка в исходный файл перед началом процесса компиляции. Этот механизм необходим для управления сложными программными проектами, обеспечения согласованности структур данных и упрощения использования библиотек. Заголовочные файлы часто используют «защиту от повторного включения» (include guards) — директивы препроцессора, такие как #ifndef, #define и #endif, — чтобы предотвратить многократное включение одного и того же файла, что в противном случае привело бы к ошибкам компиляции из-за повторного определения. Они являются основой модульной архитектуры программного обеспечения в семействе языков C.