C Tutorial

C Tutorial C Language Environment Setup Execution flow of C program C printf and Scanf C Data type C Token Variable in C Operators in C Comments in C Escape Sequence in C C – Storage Classes C Decision control statement Loop Statement in C Break, continue and goto statement in C Type Casting in C Function in C Recursion in C String in C C Array Pointer in C Dynamic memory allocation C –Structure Nested Structure in C Union in C File Handling in C C pre-processor Static Function In C Sizeof In C Selection Sort In C Scope Of Variables In C Runtime Vs Compile Time In C Random Access Lseek In C Queue Implementation In C Pseudo Code In C Prototype In C Pointer To Pointer In C Pointer Arithmetic In C Passing Array To Function In C Null Character In C Merge Sort In C Macros In C Library Functions In C Memory Leak In C Int In C Goto And Labels In C Fibonacci Series In C Fflush In C Derived Data Types In C Data Types In C Const Vs Volatile In C Character Set In C Character Class Tests In C Calloc In C C Pointers Arrays In C Include In C Clrscr In C C Vs Java String Literals In C Types Of Pointers In C Variables In C Volatile In C Why C Is A Middle Level Language Infix To Postfix Program In C Ceil function in C LCM of two numbers in C Quick sort in C Static in C function pointer as argument in C Top Array Keywords in C Add two numbers using the function in C Armstrong program in C using function Array, Declaring Arrays and Array Initialization Limitations of Inline Function in C Merge and Merge sort with example in C Do-While Loop in C For Loop in C While-Loop in C Difference between while and do-while loop in C Array Of Structures in C Data Structures And Algorithms in C Types Of Structures In C How to Avoid Structure Padding in C Use of Structure in C Do WHILE LOOP in C Programming Examples For Loop in C Programming Examples Entry Control Loop in C Exit control loop in C Infinite loop in C Nested loop in C pow() function in C String Handling functions in C

#include in C

In the C programming language, #include is another way of inferring a standard, or a user defines file into the application or program. The preprocessor of the programming standard generally reads the #include directive. It then orders to include the contents of the system or a user defined header file within the application or the program.

Most of the files used by including the #include directive is either imported from outside the source of the current program or are defined within the same program or application. This process of importing the files from outside the program might be user defined or system indicated and termed file inclusion.

Such types of preprocessors tell the compiler to include the files within the program’s source code so that the content could be used in future times. In other words, the C standard preprocessor will tell the compiler to include all the contents of the file which are specified in the stream of the input and then continue the same with the rest of the application or program.

The preprocessor will insert the contents of the header file mentioned into the main code from the time it encounters the #include directive. The directives are made to include the C functions or the C header files, which will be held outside the present program.


There are two variants in the #include directive. They are:

#include “user defined file.”
	#include “header file”

The double quotes are used when the preprocessor has to access the current directory within which the source “header file” or “user defined file” is located. This is mainly used to access any of the header files required for the program or the application or the user-defined, files. It tells the compiler to look for the directory where system header files are held. In UNIX, it is \usr\include directory.

#include <header file>
	#include <user defined file>

While importing files using angular brackets(<>), the preprocessor uses a predetermined directory path to access the file. It is mainly used to access system header files located in the standard system directories. It tells the compiler to look in the current directory from where the program is running.

Header file: header files are the name of the files which a developer wants to include. This ends with the “.h” and contains declarations and macro definitions that can be shared among several source files. Functions like the printf(), scanf(), cout, cin, and various other input-output or other standard functions are contained within different header files. So to utilize those functions, the users need to import a few header files which define the required functions.

User defined files: these are the types of files that resemble the header files but are written and defined by the user. It saves the user from writing many files a multiple number of times.

The #include directives copy and paste the content of the files into the current file. If the file which needs to be included, is neither system-defined nor user-defined, then the compiler will throw an error. By the use of #include directive, we provide information to the preprocessor where to look for the header files.

The difference between these two syntaxes is subtle but essential. If a header file is included within <>, the preprocessor will search a predetermined directory path to locate the header file. If the header file is enclosed in “ ”, the preprocessor will look for the header file in the same directory as the source file.


#include <stdio.h>
#include <conio.h>
int main()
printf("Tutorials and Examples provide you %d + lectures on the basics of programming languages \n", 1000);
return 0;


Tutorials and Examples provide you 1000 + lectures on the basics of programming languages.

In the following example, we are using the #include directive to include the stdio.h header file, which is required to use the printf standard C library function in your application.

Other types of header files in the C standard include:

  1. <assert.h>: it diagnoses the functions
  2. <ctyle.h>: it handles the character handling functions
  3. <locale.h>: It localizes the functions.
  4. <math.h>: it handles the mathematic functions
  5. <signal.h>: it signals the handling functions
  6. <conio.h>: stands for console input and output header file.
  7. <stdlib.h>: these are the general utility functions
  8. <stdarg.h>: it refers to the variable argument list functions
  9. <stdio.h>:  it indicates the Input/Output Functions
  10. <string.h>: it indicates the general string functions within the program
  11. <time.h>: it refers to time and date functions
  • In #include directive, comments are not recognized. So in case of #include <a//b>, a//b is treated as filename.
  • In #include directive, the backslash is considered as normal text, not escape sequence. So in case of #include <a\nb>, a\nb is treated as filename.
  • You can use the only comment after filename otherwise it will give an error.