Lære preprocessor -kommando #define, #UNDEF i C

Lære preprocessor -kommando #define, #UNDEF i C
Det er flere forprosessorkommandoer som finnes på C -språket. # Definer og # UNDEF er den viktigste forprosessor -kommandoen i C -språket. Hver av dem har noen unike funksjoner. I dette emnet vil vi diskutere i detalj # definere og # undef.

Hva er forbehandler?

Før vi diskuterer # Define og # Undef, må vi vite om forprosessoren.

En forbehandler er et program som utfører før samlingen. I kildekoden varsler bare forbehandler. Resten av linjene forblir uendret av prosessoren. # kalles forbehandlerdirektivet. Hvert prosessordirektiv må være på sin egen linje. Ordet etter # kalles forprosessorkommando. # Definer og # UNDEF er forbehandlerdirektivene.

Prosessorkommando #defin på C -språk

# Definer -direktivet definerer en identifikator og en tegnsekvens (et sett med tegn) som vil bli erstattet med identifikatoren som hver har oppstått i kildefilen.

# definere pi 3.14.
# kalles forbehandlerdirektiv.

Define kalles en forprosessorkommando.

Pi kalles en identifikator eller makro.

3.14 kalles en sekvens av karakter.

# kalles forbehandlerdirektiv. Det indikerer forbehandleren til å behandle eller utføre linjen.

Etter å ha skrevet forbehandlerdirektivet, skriver vi umiddelbart forbehandlerkommandoen. Det er mange typer kommandoer som er til stede på C -språket. Define er en av prosessorkommandoene skrevet her. Med disse kommandoene kan prosessoren forstå hva det vil bli gjort.

Etter det skriver vi et ord som kalles makro. Her skriver vi en makro som kalles pi. Det kan skrives både i hovedstaden eller med små bokstaver. Her skriver vi i et lite brev.

Etter å ha brukt makro, vil vi umiddelbart skrive en karaktersekvens. Karaktersekvens kan være et tall eller streng. De kan være hvilken som helst type avhengig av kravet til programmereren. Her bruker vi en karaktersekvens 3.14. I hele programmet der vi skriver PI, erstatter forbehandleren denne PI med 3.14. Så vi setter faktisk en verdi av Pi en gang, forbehandler forbehandler all PI til 3.14. Så når kompilatoren kompilerer programmet, kan det se alle PI -verdiene til 3.14.

Generell syntaks

# Definer makro-navn Char-Sequence

Identifikatoren blir referert til som et makronavn og erstatningsprosessen som en makroerstatning.

Eksempel

# definere pi 3.14
# Definer MSG “Hallo forbehandler”

Programmering Eksempel 1

#inkludere
#defin sum (a, b) a+b
int main ()

printf (“summen av 5 og 6 er %d”, sum (5,6));
retur 0;

Produksjon

Forklaring

Her bruker vi en forprosessor -kommandodefiner. Vi skriver en linje:

#defin sum (a, b) a+b

“#” Er forbehandlerdirektivet. Etter “#” skriver vi umiddelbart definer forbehandlerkommandoen. Etter det skriver vi en identifikator eller en makro som heter sum (a, b). Så skriver vi en karaktersekvens a+b.

For å se direktivet "#", kan forbehandleren forstå at det er linjen som må løses. Ved å skrive Definer -kommandoen, kan forbehandleren forstå hva som vil være handlingen utført av forbehandleren. Deretter erstatter makrosummen (a, b) og a+b forprosessor all makrosummen (a, b) med tegnsekvensen a+b. Det betyr at når kompilatoren kompilerer programmet, kan det se en+b i stedet for sum (a, b) overalt hvor det brukes. Så vi skriver en makro bare en gang, og den kan brukes flere ganger i programmet vårt.

Programmering Eksempel 2

#inkludere
#Define produkt (a, b) a*b
int main ()

printf (“Produktet av 5 og 6 er %d”, produkt (5+6, 4-6));
retur 0;

Produksjon

Forklaring

Her bruker vi en annen forbehandler -kommandodefiner. Vi skriver en linje:

#Define produkt (a, b) a*b

“#” Er forbehandlerdirektivet. Etter “#” skriver vi umiddelbart definer forbehandlerkommandoen. Etter det skriver vi en identifikator eller et makro som heter produkt (a, b). Så skriver vi en karaktersekvens a*b.

For å se direktivet # forbehandler kan forstå at det er linjen som må løses. Ved å skrive Definer -kommandoen, kan forbehandleren forstå hva som vil være handlingen utført av forbehandleren. Deretter erstatter makroproduktet (A, B) og A*B forbehandler alt makroproduktet (A, B) med tegnsekvensen A*B. Det betyr at når kompilatoren kompilerer programmet, kan det se en*b på produktstedet (a, b) overalt hvor det brukes. Så vi skriver en makro bare en gang, og den kan brukes flere ganger i programmet vårt.

Den faktiske mekanismen for dette spesielle eksemplet er

Produkt (5+6,5-6)
A = 5 er galt her.
Riktig beregning er:
5+6*5-6
= 5+30-6
= 35-6
= 29.

Så resultatet er 29.

Programmeringseksempel 3

#inkludere
#Define Square (a) a*a
int main ()

int s = firkant (5)
printf (“Square of is %d”, s);
retur 0;

Produksjon

Forklaring

Her bruker vi en annen forbehandler -kommandodefiner. Vi skriver en linje:

#Define Square (a) a*a

“#” Er forbehandlerdirektivet. Etter “#” skriver vi umiddelbart definer forbehandlerkommandoen. Etter det skriver vi en identifikator eller en makro som heter Square (A). Så skriver vi en karaktersekvens a*a.

For å se direktivet # forbehandler kan forstå at det er linjen som må løses. Ved å skrive Definer -kommandoen, kan forbehandleren forstå hva som vil være handlingen utført av forbehandleren. Deretter erstatter makrotorget (a) og en*en forbehandler alt makrotorget (a) til tegnsekvensen a*a. Det betyr at når kompilatoren kompilerer programmet, kan det se en*a på stedet for firkantet (a) overalt det brukes. Så vi skriver en makro bare en gang, og den kan brukes flere ganger i programmet vårt.

#UNDEF

Det brukes til udefinerte makroer. Hver gang vi innser at det ikke er nødvendig med mer makro i programmet, skriver vi ganske enkelt:

#UNDEF MACRO-NAME

Det er ikke noe krav for noen karaktersekvens.

Programmering Eksempel 4

#inkludere
#Define Avishek Avi
int main ()

#UNDEF AVI
# hvis definert (AVI)
printf (“Jeg er lærer”);
# annet
printf (“Makro har vært udefinert \ n”);
# endif // definert.
retur 0;

Produksjon

Forklaring

Her definerer vi en makro som heter Avishek, og den erstatter en karaktersekvens AVI. Det er også udefinert av “#UNDEF”. Hver gang makro ikke lenger er nødvendig i programmet, bruker vi undef -forbehandlerkommandoen for å avfine makroen.

Konklusjon

Her lærer vi om bruken av " #" definere og # undef i detalj. Alternativt lærer vi bruken av makro også. Hvordan kan jeg bruke den, og når makroen ikke lenger er nødvendig i programmet, kan du ikke gjøre det ved å bruke "#UNDEF". Så det er et godt konsept på programmeringsspråket C.