Для чего нужны хедер файлы в C ?
Целью заголовочных файлов является удобное хранение предварительных объявлений для использования другими файлами. По своей сути, заголовочные (Header) файлы являются библиотеками, которые можно подключать для расширения функционала. Как правило, методы и функции в хедерах не реализуются, а только объявляются (аналогия с интерфейсами в C#). Как правило, подобную ситуацию мы наблюдаем в системных хедерах, типа iostream. В таких случаях реализация всех функций находится в так называемой C Runtime Support Library, которая автоматически подключается к нашей программе на этапе линкинга, тобишь, связи библиотеки с программой.
Нужны заголовочные файлы для следующих целей:
1. Значительно упрощает читабельность и код программы. Позволяет, как-бы, инкапсулировать множество функций или констант, что в свою очередь позволяет нам подключать их в своих программах и использовать без постоянной их реализации.
2. Хедер файл служит своего рода входом в программу. Без файла с расширением .h программа, написанная на языке C не будет запускаться.