Header files in C contain function declarations and macros that can be included in C programs using the #include preprocessor directive. Common header files like stdio.h provide input/output functions, conio.h provides console input/output functions, and math.h provides mathematics functions. Other header files provide functions for strings, date/time, memory allocation, and other general utilities. Header files allow code to be reused across programs and abstraction of platform-specific details.