Header files in C/C++ with Examples

In C++ offers its users a variety of functions, one of which is included in header files. In C++, all the header files may or may not end with the “.h” extension but in C, all the header files must necessarily end with the “.h” extension.
A header file contains:

  1. Function definitions
  2. Data type definitions
  3. Macros

It offer above features by importing them into the program with the help of a preprocessor directive “#include”. These preprocessor directives are used for instructing compiler that these files need to be processed before compilation.
In C program should necessarily contain the header file which stands for standard input and output used to take input with the help of scanf() and printf() function respectively.
In C++ program has the header file which stands for input and output stream used to take input with the help of “cin” and “cout” respectively.
There are of 2 types of header file:

  1. Pre-existing header files: Files which are already available in C/C++ compiler we just need to import them.
  2. User-defined header files: These files are defined by the user and can be imported using “#include”.

Syntax:

#include <filename.h>
or
#include "filename.h"

We can include header files in our program by using one of the above two syntax whether it is pre-defined or user-defined header file. The “#include” preprocessor is responsible for directing the compiler that the header file needs to be processed before compilation and includes all the necessary data type and function definitions.

Note: We can’t include the same header file twice in any program.



Create your own Header File:
Instead of writing a large and complex code, we can create your own header files and include them in our program to use it whenever we want. It enhances code functionality and readability. Below are the steps to create our own header file:

  1. Write your own C/C++ code and save that file with “.h” extension. Below is the illustration of header file:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Function to find the sum of two
    // numbers passed
    int sumOfTwoNumbers(int a, int b)
    {
        return (a + b);
    }

    chevron_right

    
    

  2. Include your header file with “#include” in your C/C++ program as shown below:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // C++ program to find the sum of two
    // numbers using function declared in
    // header file
    #include "iostream"
      
    // Including header file
    #include "sum.h"
    using namespace std;
      
    // Driver Code
    int main()
    {
      
        // Given two numbers
        int a = 13, b = 22;
      
        // Function declared in header
        // file to find the sum
        cout << "Sum is: "
             << sumOfTwoNumbers(a, b)
             << endl;
    }

    chevron_right

    
    

  3. Below is the output of the above program:

Below are some inbuilt header files in C/C++:

  1. #include<stdio.h>: It is used to perform input and output operations using functions scanf() and printf().
  2. #include<iostream>: It is used as a stream of Input and Output using cin and cout.
  3. #include<string.h>: It is used to perform various functionalities related to string manupulation like strlen(), strcmp(), strcpy(), size(), etc.
  4. #include<math.h>: It is used to perform mathematical operations like sqrt(), log2(), pow(), etc.
  5. #include<iomanip.h>: It is used to access set() and setprecision() function to limit the decimal places in variables.
  6. #include<signal.h>: It is used to perform signal handling functions like signal() and raise().
  7. #include<stdarg.h>:It is used to perform standard argument functions like va_start() and va_arg(). It is also used to indicate start of the variable-length argument list and to fetch the arguments from the variable-length argument list in the program respectively.
  8. #include<errno.h>: It is used to perform error handling operations like errno(), strerror(), perror(), etc.
  9. #include<fstream.h>: It is used to control the data to read from a file as an input and data to write into the file as an output.
  10. #include<time.h>: It is used to perform functions related to date() and time() like setdate() and getdate(). It is also used to modify the system date and get the CPU time respectively.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.