Header files collect declarations for reuse. In C/C++, a header file usually has .h or .hpp. You add it with #include. Use #include <...> for library headers and #include "..." for project headers. Headers declare functions, types, and constants; source files hold definitions. Prevent multiple inclusion with a header guard: #ifndef, #define, #endif, or #pragma once. Common examples are <stdio.h> and <iostream>. Remember: share interfaces, avoid duplicates.