Makroer i c

Makroer i c

“Som du vet at C er et ganske mangfoldig språk og kom med mange forskjellige strukturer. Makroene på C -språket kommer godt med når du bytter den store koden med et enkelt stykke linjekode for å unngå kompleksitet og mer. Makroene kan brukes i C -kodene ved å bruke nøkkelordet “#define”. Selv om makroer har mange typer, vil vi demonstrere bruken av objektlignende makroer og funksjonslignende makroer i denne artikkelen. La oss få en ny start på denne guiden ved å oppdatere den i skallet ved "oppdatering" -spørsmålet som vises i det vedlagte bildet. Oppgi denne spørringen med Linux -passordet ditt for å fortsette behandlingen.”

Konfigurer nå GCC -verktøyet til Linux for sammenstilling av C -kodene dine i de nettopp kommende eksemplene. For dette, bruk "Apt" -verktøyet med "Install" -spørsmålet og nøkkelordet "GCC".

Nå trenger du en C -kodefil der du vil legge litt C -kode for å spille med forskjellige innganger og utganger. Dermed anbefaler vi å prøve "berørings" -instruksjonen i Linux -skallet ditt for enhver type filoppretting. Bruke ".C ”utvidelse på slutten av en fil for å identifisere C. Din nylig genererte "makro.C ”-filen vil bli lagret i Linux Current Home -mappen.

Eksempel 01

Åpne den nye C-filen for å lage vårt første eksempel for objektlignende makroer i den. Du kan bruke hvilken som helst redaktør etter valg. Hvis du er en ekspert C -utvikler, anbefales det å bruke “GNU Nano” -redaktøren, og hvis du bare er nybegynner, kan du prøve “Text” -redigereren. Begge redaktørene er ganske tiltalende og enkle å bruke for nybegynnere. Innenfor denne kodefilen legger vi til nøkkelordet "#include" med "" C -overskriften i begynnelsen, da det er et C -bibliotek å bruke standardinnganger og få standardutganger ved hjelp av enkle C -funksjoner.

Nå vil vi definere en makro akkurat som et objekt som bruker "definer" nøkkelordet. Denne objektlignende makroen brukes til å initialisere en variabel som heter "val" med en verdi på 14. Vi la ikke til ";" Tegn etter initialiseringsuttalelsen fordi det er slik makroene fungerer og ikke krever den samme fullverdige strukturen til variabler eller funksjoner. Denne makrovariabelen kan brukes hvor som helst i koden. Vi starter vår viktigste () -funksjon for utførelse med "printf ()" -funksjonen. Denne printf () -funksjonen viser ganske enkelt en strengtypeverdi sammen med å bruke makrovariabelen “val” for å vise verdien.

Vi lagrer denne enkle og grunnleggende koden for objektlignende makroutnyttelse i C.

#inkludere
#Define Val 14
int main ()
printf ("Verdi definert som makro: %d \ n", val);

Etter filbesparelsen er samlingen et must når du jobber med generelle formål som C som C. Derfor, for samlingen av nettopp fullført C -kode, kaster vi av "GCC" -kommandoen med filnavnet "Makro.C ”. Denne kommandoen vil kompilere koden i makroen.c fil og vise feilene; hvis noen. Nå som koden vår er fullstendig samlet og uten feil, kaster vi av "./en.ut ”instruksjon på konsollen for å kjøre den kompilerte koden. Utgangen til denne C-koden lar oss vise strengmeldingen sammen med en verdi av en objektlignende makrovariabel, i.e., viste verdien 14 for objektlignende variabel “val”.

Eksempel 02

Her kommer illustrasjonen av en funksjonslignende makro der vi vil definere en makrofunksjon som fungerer på samme måte som en funksjon uten returtyper. Dermed har vi definert totalt 3 funksjonslignende makroer etter STDIO.h header i den viste below c-koden. Alle tre makroene utfører forskjellige operasjoner på "x" og "y" variable verdier, som vil bli passert av main () -funksjonen, i.e., sum, multipliser og trekke fra. To heltallvariabler, V1 og V2, initialiseres i hovedmetoden (), og tre printf () -uttalelser brukes til å vise de beregnede resultatene ved å kalle de funksjonsliknende makroene.

Summen () makroen vil beregne en sum ved hjelp av logikken (x+y), mul () funksjonslignende makro vil beregne multiplikasjonsresultatet ved bruk Trekk de to variablene ved bruk av logikken (X-Y). Det er det for de tre funksjonslignende makroene; Vi vil redde dem før sammenstilling.

#inkludere
#defin sum (x, y) x+y
#define mul (x, y) x*y
#Define sub (x, y) x-y
int main ()
int v1 = 7, v2 = 14;
printf ("sum: %d \ n", sum (v1, v2));
printf ("multiply: %d \ n", mul (v1, v2));
printf ("trekk: %d \ n", sub (v1, v2));

Etter samlingen og kjøringen av C-koden, viste utgangen vellykket sum, multipliser og subtraksjonsresultat ved bruk av de funksjonsliknende makroene.

Eksempel 03

La oss se på det siste eksemplet med funksjonslignende makroer. Vi definerte en makrofunksjon som tok to variabler, “V” og “L” og bruker While Loop for å utføre “” -delen av en kode, i.e., Inntil verdien av “V” er mindre enn “L”. Den "" -delen vil fortsette å skrive ut "makro" ved skallet ved å bruke printf () til verdien “V” er lik verdien “L” ved å bruke økningen på “V”. Main () -funksjonen har vært initialisering av variabelen “V” med verdien “0”. Samtalen til funksjonslignende makro bruker variabelen “V” sammen med å passere verdien “10” for “L” -variabelen for å definere en grense for en “loop” -struktur. Nå vil PRINT () -uttalelsen i den funksjonsliknende makroen fortsette å vise "makro" på utgangsskjermen til variabelen "V" når "10".

#inkludere
#defin makro (v, l) mens (v < l) \
\
printf ("makro"); \
V ++; \

int main ()
int v1 = 0;
Makro (V, 10);

Det er på tide å lagre C -koden, kompilere og kjøre den som vi gjorde på bildet nedenfor. Utgangen fra denne nye C -koden viser visningen av ordet “makro” 10 ganger på gjentatt. Dette er fordi vi brukte “mens” -løkken for å fortsette å vise den til “V” når “L” i.e., L = 10.

Konklusjon

Denne guiden har forklart formålet med å bruke makroene i C i det innledende avsnittet og noen veldig enkle eksempler for å demonstrere det. Vi har prøvd å bruke de objektlignende makroene og de funksjonsliknende makroene i de tre påfølgende C-eksemplene og håper disse eksemplene vil hjelpe C-utviklere sterkt.