Archivo de cabecera

Un header file contiene, normalmente, una declaración directa de clases, subrutinas, variables u otros identificadores.El enlazador, sin embargo, suele conocer, de forma muy limitada los tipos usados en los programas.(Nótese que C no define el término "one definition rule" — es específico del lenguaje C++.Una posible implementación podría ser la siguiente: Si el programador olvida actualizar la declaración en main.c, se pueden dar resultados devastadores.Al ejecutar este programa se produce un comportamiento impredecible: la aplicación puede imprimir basura, terminar de forma inesperada o dar pie a resultados impredecibles en la plataforma en la que es ejecutado.El fichero de cabecera también se puede incluir en el fichero fuente que contiene las correspondientes definiciones, dándole al compilador la oportunidad de comprobar si la declaración y la definición son consistentes.Normalmente, los programadores solo utilizan los header files para especificar las interfaces, y suelen aportar al menos, una pequeña cantidad de información explicando cómo usar los componentes declarados en el archivo.Los header files no son la única solución al problema de acceder identificadores declarados en diferentes archivos.COBOL y RPG IV tienen una forma de incluir archivos llamada copybooks.