#omfatta är ett sätt att inkludera en standard- eller användardefinierad fil i programmet och skrivs oftast i början av ett C-program. Direktivet #include preprocessor läses av förprocessorn och instruerar den att infoga innehållet i en användardefinierad eller systemhuvudfil i vårt C-program. Dessa filer importeras huvudsakligen från externa rubrikfiler.
Processen att importera sådana filer som kan vara systemdefinierade eller användardefinierade kallas Filinkludering . Detta förprocessordirektiv säger åt kompilatorn att inkludera en fil i källkodsprogrammet.
Typer av header-filer
Det finns två typer av filer som kan inkluderas med #include:
1. Redan existerande rubrikfiler: De redan existerande rubrikfilerna levereras med kompilatorn och finns i standardsystemfilkatalogen. Den här filen innehåller C-standardbiblioteksfunktionsdeklarationer och makrodefinitioner som ska delas mellan flera källfiler. Funktioner som printf(), scanf(), cout, cin och olika andra input-output eller andra standardfunktioner finns i olika redan existerande rubrikfiler.
2. Användardefinierade rubrikfiler: Dessa filer liknar rubrikfilerna, förutom det faktum att de är skrivna och definierade av användaren själv. Detta sparar användaren från att skriva en viss funktion flera gånger.
Syntax för #inkludera i C
Det finns två varianter av hur vi kan använda #include i vårt C-program.
1. Inklusive att använda
Det används främst för att komma åt redan existerande systemhuvudfiler finns i standardsystemkatalogerna.
#include>
När en fil importeras med vinkelparenteser(), använder förprocessorn en förutbestämd katalogsökväg för att komma åt filen.
2. Inklusive att använda
Denna typ används huvudsakligen för att komma åt alla header-filer för användarens program eller användardefinierade filer.
#include 'user-defined_file'>
När du använder dubbla citattecken( ), kommer förprocessorn åt den aktuella katalogen där källhuvudfilen finns eller standardsystemkatalogerna.
För att importera den användardefinierade rubrikfilen med #include, bör filen finnas i en katalogsökväg i förhållande till din C-källfil, annars kommer förprocessorn att börja söka efter den i standardsystemkatalogen.
För att veta mer se Skillnaden mellan #inkludera och #inkludera
Exempel på #inkludera i C
Exempel 1
Nedanstående kod visar importen av en system-I/O-header eller standardfil.
C
// C program showing the header file including> // standard input-output header file> #include> int> main()> {> >// 'printf()' belongs to stdio.h> >printf>(>'hello world'>);> >return> 0;> }> |
>
>Produktion
hello world>
Exempel 2
I exemplet nedan visas#include>direktiv tillåter oss att använda matematiska funktioner somsqrt>för att beräkna kvadratroten.
C
// C program to calculate square root of a number using the> // math library functions> #include // Including math header for mathematical operations> #include> int> main()> {> >double> num = 14.0;> >double> Res =>sqrt>(num);> >printf>(>'Square root of %.2f is %.2f
'>, num, Res);> >return> 0;> }> |
gigabyte vs megabyte
>
>Produktion
Square root of 14.00 is 3.74>
Exempel 3
Koden nedan visar skapandet och importen av en användardefinierad fil.
Skapa en användardefinierad rubrik med namnet process.h.
C
// It is not recommended to put function definitions> // in a header file. Ideally there should be only> // function declarations. Purpose of this code is> // to only demonstrate working of header files.> void> add(>int> a,>int> b)> {> >printf>(>'Added value=%d
'>, a + b);> }> void> multiply(>int> a,>int> b)> {> >printf>(>'Multiplied value=%d
'>, a * b);> }> |
>
>
Skapar huvudfilen där process.h ovan kommer att inkluderas.
C
// C program to illustrate file inclusion> // used to import system header file> #include> // ' ' used to import user-defined file> #include 'process.h'> // main function> int> main()> {> >// add function defined in process.h> >add(10, 20);> >// multiply function defined in process.h> >multiply(10, 20);> >// printf defined in stdio.h> >printf>(>'Process completed'>);> >return> 0;> }> |
>
>
Förklaring
Inkludera processen.h-filen i ett annat program. Nu eftersom vi behöver inkludera stdio.h som #include för att kunna använda printf()-funktionen på liknande sätt, måste vi också inkludera rubrikfilen process.h som #include process.h. Den instruerar förprocessorn att titta in i den aktuella mappen eller standardmappen för alla rubrikfiler, om de inte finns i den aktuella mappen.
Om vinkelparenteser används istället för kommer kompilatorn att söka efter header-filen i standardmappen med header-filer. Om du använder måste du se till att den skapade rubrikfilen sparas i samma mapp där den aktuella C-filen som använder denna rubrikfil sparas.
Slutsats
I C-programmering är #include-direktivet mycket viktigt för att integrera externa filer (header-filer) i ett program. Detta direktiv placeras alltid i början av ett C-program och det är ett förprocessorkommando som säger åt kompilatorn att inkludera innehållet i filen som anges efter #include-direktivet. Det finns två typer av filer som kan inkluderas: redan existerande systemhuvudfiler och användardefinierade huvudfiler. Sammantaget tillåter detta direktiv oss att skriva en modulär kod, organisera koden och lättåteranvända funktioner.