Header Files

Header files contain definitions of Functions and Variables, which is imported or used into any C++ program by using the pre-processor #include statement. Header file have an extension ".h" which contains C++ function declaration and macro definition.

Each header file contains information (or declarations) for a particular group of functions. Like stdio.h header file contains declarations of standard input and output functions available in C++ which is used for get the input and print the output. Similarly, the header file math.h contains declarations of mathematical functions available in C++.

Types of Header files

  • System header files: It is comes with compiler.
  • User header files: It is written by programmer.

Why need of header files

When we want to use any function in our C++ program then first we need to import their definition from C++ library, for importing their declaration and definition we need to include header file in program by using #include. Header file include at the top of any C++ program.
For example if we use clrscr() in C++ program, then we need to include, conio.h header file, because in conio.h header file definition of clrscr() (for clear screen) is written in conio.h header file.


See another simple example why use header files



int main()
    using namespace std;
    return 0;
In above program print message on scree hello world! by using cout but we don't define cout here actually already cout has been declared in a header file called iostream.

How to use header file in Program

Both user and system header files are include using the pre-processing directive #include. It has following two forms:




This form used for header files of our own program. It searches for a file named file in the directive containing the current file.
Note: The use of angle brackets <> informs the compiler to search the compilers include directory for the specified file. The use of the double quotes "" around the filename inform the compiler to search in the current directory for the specified file.