Включення файлів полегшує використання наборів #define і оголошень (серед інших речей). Будь-який рядок вихідного тексту, що має форму
#include "filename"
або
#include <filename>
замінюється на вміст файла filename. Якщо назву файла взато у лапки, його пошук, типово, почнеться з того місця, де перебуває вихідний текст програми; якщо його там не знайдено, або якщо назву файла включено у < й >, пошук слідує правилам, визначеним системою, щоб знайти його. Включений файл може й самий містити рядки #include.
Часто, ви знайдете декілька рядків #include напочатку вихідного файла, для включення загальних тверджень #define і оголошень extern, або для доступу до оголошень прототипів функцій для бібліотечних функцій з таких заголовків як <stdio.h>, наприклад. (Якщо бути точним, заголовки не обов'язково повинні бути файлами; деталі щодо звернення до заголовків визначаються системою).
#include — це переважний спосіб зв'язування разом оголошень у великих програмах. Він гарантує, що всі вихідні файли забезпечено тими самими визначеннями і оголошенням змінних, усуваючи можливість особливо неприємних вад. Звичайно, якщо включений файл змінено, то всі файли, які залежать від нього, слід перекомпілювати.