100% found this document useful (1 vote)
87 views8 pages

Header Files

Uploaded by

shamim sam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
87 views8 pages

Header Files

Uploaded by

shamim sam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

​ Programming Language - Header files list​ By I’m Programmer 

©C
  

HEADER FILES IN C LANGUAGE 


 
 

- I’m Programmer 
 
 
 
 

 

 

Header  files  contain  the  set  of  predefined  standard  library  functions that we can include in 
our  c  programs.  But  to  use  these  various  library  functions,  we  have  to  include  the 
appropriate header files. 
 
Let us see in detail how the compiler interprets the line : 
 
#include<stdio.h> 
 
Here,  #
​   is  a  preprocessor  directive  which  tells  us  that  this  is  the  line  which  must  be 
pre-processed by pre-processor. 
 
include  tells  us  that  there  is  a  filename  ahead  which  must  be  included  at  the  top  of  our 
program. Preprocessor simply copies contents of file stdio.h in our code. 
 
<>​ - Angled brackets defines where to search for header files. 
 
stdio.h  -  is  the  file  to  be  included  in  our  program  so  that  we  can  use  built-in  functions  in 
our  program.  These  built-in  functions  are  only  declared  in  such  header  files  and  not 
defined. 
 
Apart  from  method  or  class  declarations, header files also contain predefined macros, data 
type definitions, etc. 
 
When  you  call a built-in function, at compile time compiler compares your calling statement 
with  function  prototype(which  is  in  the  header  file)  and  if  the  return  type,  function  name, 
number  of  arguments,  type  of  arguments  are  same  then  only  the  result  of  comparison  is 
said to be satisfying otherwise compiler gives you errors. 
 
We  can  create  our  own  header  files  as  well.  But  they  are  specified  in  between  double 
quotes instead of angular brackets which will convene to make programming easier. 
 
If  you  have  a  standard  set  of  instructions  that  you  want  to  insert  in  a  lot  of  programs  that 
you are writing then you can do it using the # ​ include​ statement. 

 

 
The  ​#  symbol  at  the  start  stipulate  that  this  isn't  a  C  statement  but  one  for  the  C 
pre-processor  which  looks  at  the  text  file before the compiler gets it. The # ​ include tells the 
pre-processor  to  read  in  a  text  file  and  treat  it  as  if  it  was  part  of  the  program's  text.  For 
example: 
 
#include "copy.txt" 
 
could  be  used  to  include  a  copyright  notice  stored  in  the  file  c
​ opy.txt​.  However,  the  most 
common  use  of  the  # ​ include  is  to  define  c​ onstants  and  ​macros​.  The  C  pre-processor  is 
almost a language in its own right For example if you define the identifier N ​ ULL​ as: 
 
#define NULL 0 
 
then  whenever  you  use  N ​ ULL  in  your  program  the  pre-processor  substitutes  0.  In  most 
cases  you  want  these  definitions  to  be  included  in  all  your  programs  and  so  the  obvious 
thing to do is to create a separate file that you can # ​ include​. 
 
This  idea  of  using  standard  include  files  has  spiraled  out  of  all  proportions.  Now  such 
include  files  are  called  h​ eader  files  and  they  are  distinguished  by  ending  in  the  extension 
.h​.  A  header  file  is  generally  used  to  define  all  of  the  functions,  variables,  and  constants 
contained in any function library that you might want to use. 
 
There  are  many  header  files  in  C  programming  language  and  there  all  header  files  have 
their own different functionalities… 
 
List of all header file of c language as below. 
 
 
 
 
 

 

List of header files in c language

  
 

 

  
 
Header Files
What's A Header File
A header file is a place to store information that does not exclusively belong in a .c file. Imagine
you have a struct that you want two different .c files to use. Instead of declaring the struct twice, you
can just make a header file with that struct in it and include it in both files.

What Happens to a Header File


When you #include your own header file make sure to surround it with quotes instead of angle
brackets.
#include <myFile.h> //BAD
#include “myFile.h” //GOOD
When a file is #include'ed, the entire contents of the header file is just dumped into the top of
the .c file.

What to Put In a Header File


Since a header file gets dumped to the top of your file, things that used to go at the top of your
file should be in your header file.
• structs
• #defines
• function prototypes
• other #includes

What NOT to Put in a Header File


• variables (unless you are being very careful!)
• function definitions

Structure of a Header File


Header files are usually laid out like this:
//BEGIN File (this comment issn't actually in the file, 
// its just to help you imagine a file)
#ifndef FILENAME_H //Replace FILENAME with your 
                   // actual file name.
#define FILENAME_H //Ex: “lab12.h” => “LAB12_H”
//Other #includes

//#defines 

//structs

//prototypes
#endif
//END FILE (once again, not actually in the file)

You probably noticed those #ifndef and #endif. These are to stop something called
“double/multiple inclusion”. That's when a file gets included more than once. It is not necessary,
especially in simpler programs. If you don't understand, than don't worry too much about it.

Single File Use

When you have a simple, single include program, you can compile it just like you would any
other program: “gcc myFile.c”. Notice how myFile.c uses stuff that is in the header file.
Multiple File Use

Whenever you have multiple .c files, things get a bit more complicated. Notice how main only
exists in one of the files. Look how both files needed the myStruct, so they share the header file. Also
notice how myOtherFile.c defines the function “myFunction”, but myFile is still allowed to use it. This
is because they both share the same header file. To compile this you will need to provide both the files
on the command line: “gcc myFile.c myOtherFile.c”. The order of the files doesn't matter.

You might also like