#ifdef, #ifndef, ## c forprosessor

#ifdef, #ifndef, ## c forprosessor

Flere forprosessorkommandoer finnes på C -språket. #Define og #UNDEF -kommandoene er de viktigste forbehandlerkommandoene som er til stede på C -språket. Hver av dem har noen unike funksjoner. I dette emnet vil vi diskutere i detalj om #IFDEF, #IFNDEF og ## -kommandoer.

Konseptet med forbehandler

Før vi diskuterer #IFDEF, #IFNDEF og ## -kommandoene, må vi vite om forprosessoren.

Et sett med programmer utført før programmet vårt er samlet, og det kalles forbehandler. Hovedfunksjonen til forbehandleren er bare å observere # symbolske utsagn. Resten av linjene forblir uendret av prosessoren. Dette # har et unikt navn på C -språket: forbehandlerdirektivet. Funksjonen til dette forbehandlerdirektivet er å gi en retning til den aktuelle uttalelsen. # Blir fulgt av forbehandlerkommandoen.

Forprosessor diagram

Forbehandleren løser alle # linjene. Det betyr at det ikke er noen linje igjen med # som er samlet av kompilatoren.

Nå vil vi diskutere om #IFDEF, #IFNDEF og ## -kommandoene i detalj. Disse listede forbehandlingskommandoene er:

Forprosessorkommandoer

  • #if, #ELSE, #elif og #endif
  • #ifdef og #ifndef
  • ##

Programmering Eksempel 1

I dette programmeringseksemplet vil vi se anvendelsen av forbehandlerkommandoen #if, #ELSE.

1
2
3
4
5
6
7
8
9
10
11
12
1. 3
14
15
16
17
18
19
20
#inkludere
#Define Country India
int main ()

#hv.
Printf ("Pakistani Rupees \ n");
#elif country == Bangladesh
printf ("taka \ n");
#elif country == nepal
Printf ("Nepali Rupees \ n");
#ELSE // Bruke av # Else Command.
Printf ("Indian Rupees \ n");
#endif // land
retur 0;

Produksjon

Forklaring

På det aktuelle programmeringsspråket gir vi et eksempel på #if, #ELSE. #Hvis ikke trenger noen () parentes. Det brukes til å utføre den eneste sanne uttalelsen. Ellers vil vi bruke #elif til å angi forskjellige typer forhold i programmeringskoden. Når vi bruker IF -tilstanden, vil ingen annen tilstand bli sjekket, og den vil skrive ut riktig tilstand i vår skjerm.

For #if, bestemmes det om denne linjen er overholdt eller ikke. #elif er like god som annet hvis.

Programmering Eksempel 2

Her vil vi se et annet eksempel på #IF, #ELSE -kommandoen:

1
2
3
4
5
6
7
8
9
10
11
12
1. 3
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#inkludere
#Define en 100 // forbehandlingskommando brukes her.
#Define B 0
#Define C 10
Int Main (Void)

int a = 100, b = 0, c = 10;
#if a // # hvis uttalelse brukes her.
Printf (“Verdien av a er %d \ n”, a);
#elif b
printf (“Verdien av B er %d \ n”, b);
#ELSE // # Else Statement brukes her.
Printf (“Verdien av C er %d \ n”, c);
#slutt om
retur 0;

Produksjon

Forklaring

I dette programmeringseksemplet brukes #IF og #Else. Tidligere sa vi at disse kommandoene er forskjellige fra den normale IF-Else som ble brukt i programmet. Denne kommandoen utføres av prosessoren og utføres før sammenstilling. Men bare den sanne uttalelsen er utført og klar til å kompilere.

1
#ifdef, #ifndef makroer

#ifdef er en makro. Hvis noen makro er inneholdt i en #Define -uttalelse, må resten av uttalelsen samles av kompilatoren.

#ifndef er også en makro som #ifdef.

Programmeringseksempel 3

I dette programmeringseksemplet vil vi se anvendelsen av forprosessorkommando, #ifdef, #ifndef:

1
2
3
4
5
6
7
8
9
10
11
12
1. 3
14
15
16
17
18
#inkludere
#Define land "India"
int main ()

#ifdef land // Bruke av # ifdef -kommandoen.
printf ("%s er et flott land", land);
#endif // land
#ifndef Country // Bruke av # IFNDEF -kommandoen.
printf ("Jeg elsker nasjonen min");
#endif // land
retur 0;

Produksjon

Forklaring

I denne spesielle programmeringen gir vi et eksempel på #ifdef, #ifndef. #IF og #ELSE er forskjellig fra normalt hvis ellers som brukes normalt på C -språket. De blir henrettet av forbehandleren for å bestemme hvilken tilstand som vil være klar for samling. Det brukes til å utføre bare ekte uttalelse. Ellers vil vi bruke #elif For å angi forskjellige typer tilstand i programmeringskoden. Når vi bruker dette hvis ekte tilstand, vil ingen annen tilstand bli sjekket, og den vil skrive ut riktig tilstand i vår skjerm.

#ifdef faktisk bruker hvis makro er definert med noen karaktersekvens. Hvis makro ikke er definert, så #ifndef Utfør. Her brukes en makro i det heter programmet land. Makroen land er definert med karaktersekvensen som heter “India”. For dette kjøres #ifdef i dette programmet.

Programmering Eksempel 4

I dette programmeringseksemplet vil vi se en annen anvendelse av forprosessorkommando #IFDEF, #IFNDEF.

1
2
3
4
5
6
7
8
9
10
11
12
1. 3
14
15
16
17
18
19
20
21
22
23
#inkludere
int main ()

int x = 0;
#ifdef noinput // Bruke av # ifdef -kommandoen.
#ellers
printf ("Angi verdien av variabelen x:");
scanf ("%d", & x);
#slutt om
printf ("Verdien av x er: %d \ n", x);
retur 0;

Produksjon

Forklaring

I den aktuelle programmeringen gir vi et eksempel på #ifdef, #ifndef. Som jeg nevnte tidligere, bruker #IFDEF faktisk om makro er definert med en hvilken som helst karaktersekvens. Hvis makro ikke er definert, utfører #ifndef. Her brukes en makro i det heter programmet NoInput. Så den utføres og er klar for samling.

## Operatør

## er også en operatør som er løst av forbehandleren. Ved hjelp av ## operatør kan vi enkelt sammenkoble to utsagn eller to strenger.

Programmering Eksempel 5

I dette programmeringseksemplet vil vi se anvendelsen av forprosessorkommando ## operatør.

1
2
3
4
5
6
7
8
9
10
11
12
1. 3
#inkludere
#Define handling (A, B) A ## B+A*B
int main ()

printf ("%d", handling (3,4));
retur 0;

Produksjon

Forklaring

I dette programmeringseksemplet bruker vi ## operatør for å sammenkoble to strenger. Denne operatøren blir også utført av prosessoren. Det samvirker faktisk to strenger.

Her er uttrykket gitt Handling (3, 4), og det erstattes av A ## B + A * B = 34 + 3 * 4 = 34 + 12 = 46.

## concatenate de to operandene.

Konklusjon

I denne artikkelen diskuterte vi prosessoren og klar-for-kompilering og utførelse av forbehandler-kommandoer fra kompilatoren. Disse tidligere diskuterte forbehandlerkommandoene er veldig viktige for sammensetningen, hvilke ting den vil bli samlet. Basert på disse tingene vil programmet vårt bli utført.