Open In App
Related Articles

Header files in C/C++ with Examples

Improve Article
Save Article
Like Article

 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”.


#include <filename.h>
#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: 

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


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

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


// 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;

  • 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 manipulation 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.


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 01 Jul, 2021
Like Article
Save Article
Similar Reads