Statiske variabler i C

Statiske variabler i C
C er et veldig fleksibelt språk når det gjelder tildeling av forskjellige variabler i en funksjon eller utenfor funksjonen. En statisk variabel er en av de variablene som er erklært "statisk" i et program. Startverdien på de statiske variablene er null. Statiske variabler fortsetter å fungere mens programmet kjører.

Syntaks av statiske variabler

Følgende har vært C -språket grunnleggende syntaks for å erklære en "statisk variabel".

Når vi definerer den statiske variabelen, kan vi også sette dens opprinnelige tilstand. Følgende er metoden for å initialisere en statisk variabel verdi i programmeringsspråket kalt C.

Overalt hvor dens omfang er til stede, kan en konstant variabel verdi på nytt kan initialiseres. Re-initialiseringen av en statisk variabels verdi demonstreres i programmet nedenfor. I dette programmet inkluderer vi først overskriftsfilen "stdio" med utvidelsen ".h ”som brukes til å vise inngangen og utgangen.

#inkludere
int main ()

statisk int x = 20;
x ++;
printf ("Verdien av x er: %d \ n", x);
x = 0;
printf ("Etter reinitialisering av verdi x er: %d \ n", x);

Dette er et grunnleggende og enkelt eksempel på statiske variabler der vi har erklært en variabel “x” av datatype “int” med det statiske nøkkelordet, som betyr at variabelen “x” vil holde sin verdi gjennom en funksjonsanrop. Vi har initialisert verdien “20” til variabelen “x”, og deretter har den trinnvise operasjonen blitt brukt på variabelen for å øke verdien av “x” med 1. Og skriv deretter ut verdien av “x”. Som du ser, har vi brukt “\ n” i Printf () -uttalelsen, som betyr å bryte en linje eller skrive ut utdataene i den nye linjen. Etter dette har vi initialisert verdien til den samme variabelen “X”, som er “0”. Så skriver vi ut strengen som ble skrevet i doble anførselstegn.

Her er utdataene fra ovennevnte illustrasjon der verdien av “x” er “21” etter implementeringen av trinnvirksomheten, men vi har en annen verdi av “X” som er “0” fordi vi har initialisert variabelen på nytt “X” i samme funksjon.

Hovedbruk for statiske variabler

I dette avsnittet vil vi diskutere de statiske variablene og de globale variablene. Enhver deklarert variabel som brukes utenfor hovedfunksjonen () er global. En statisk variabel er en som ble "statisk" erklært, noe som indikerer at dens livssyklus eller utvidelse er varigheten av hele utførelsen av programmet. Siden de ikke er knyttet til en spesifikk funksjon, kan enhver tilgjengelig metode brukes til å få tilgang til og endre globale variabler.

Bruke det statiske nøkkelordet i en funksjonsanrop: Hvis vi ønsker å holde samme verdi for en variabel på hver samtale, kan vi spesifisere det som en statisk variabel i funksjonen. Hver gang det statiske nøkkelordet har blitt brukt inne i en metode, forhindres re-initialiseringen av en parameter på påfølgende funksjonssamtaler (for eksempel når en statisk variabel opprettes og initialiseres i en metode). Tenk på en funksjon som har en statisk variabel kalt “x” med en begynnelsesverdi på 20. Økningsoperatøren brukes av funksjonen for å heve verdien av “x” med hver metodeanrop. Prosessen er beskrevet nedenfor.

#inkludere
tomromfunksjon ()

statisk int x = 20;
x ++;
printf ("%d \ n", x);

int main ()

funksjon();
funksjon();
funksjon();
funksjon();
funksjon();

Variabelen “x” vil starte med en verdi på 20 når denne metoden først brukes, og den vil øke til en verdi på 21 etter det. Metoden vil derfor skrive ut 21, 22, 23, 24 og 25 fordi vi kalte funksjonen 5 ganger i hoved- () -funksjonen. Nå vil ikke den variable "x" -verdien tilbakestilles til 20 hvis vi kjører denne metoden gjentatte ganger. Med økning bør dette få verdi fra foregående spenn, det vil si 21, og bli 22, og så videre. Derfor vil metoden skrive ut 22 denne gangen og så videre til den siste funksjonssamtalen.

Dette er utgangen fra den ovenfor kompilerte illustrasjonen:

Erklære en global variabel ved hjelp av en statisk variabel: Dynamiske parametere kan også deklareres globalt. Dette innebærer at en enkelt parameter har fordelene med både en konstant og en global variabel. En statisk og en global variabel omfang er forskjellig fra hverandre. En konstant parameter har bare et blokkeringsspenn, mens en global variabel kan nås fra et hvilket som helst punkt i programmet. Programmet som demonstrerer måten det er definert på er som følger.

#inkludere
statisk int y = 10;
void funksjon ()
statisk int x = 20;
x ++;
printf ("Den statiske variabelen er: %d", x);

int main ()
y ++;
printf ("Den globale variabelen er: %d \ n", y);
funksjon();

I dette eksemplet har vi inkludert nødvendig informasjon om en input-output gjennom overskriftsfilnavnet “STDIO.H, ”hvor“.H ”er utvidelsen av overskriftsfilen. Deretter erklærer vi en statisk variabel utenfor hovedfunksjonen () som er "y" for datatypen heltall. Verdien “10” initialiseres til den statiske variabelen “y”. Da har vi en metode som heter “Funksjon ()” som også vil bli erklært globalt utenfor hovedfunksjonen (). Denne funksjonen () har en statisk variabel “x” av datatype “int” med verdien av “20”, og så har vi implementert økningsoperasjonen til variabelen “x”. Etter det har vi en Printf () -klæring for å skrive ut strengen slik den er skrevet i printf () -funksjonen.

Vi må påkalle denne funksjonen etter å ha erklært variabelen og funksjonen globalt (). Vi har nådd hoved () -delen av C -programmet for å påkalle denne metoden. I Main () -funksjonen har vi igjen implementert en inkrementoperasjon, men nå på variabelen "y" og skriv ut strengen til den globale variabelen. Da har vi kalt funksjonen som heter “funksjon ()” som ble erklært globalt.

Her er utgangen fra den globale variable illustrasjonen. Først vil kompilatoren utføre den globale variabelen “y” fordi den ble erklært først i programmet; Etter implementeringen av inkrementoperasjonen vil variabel "y" bli "11", og deretter kalles funksjonen, som er "funksjon ()" og den statiske variabelen skrives ut.

Konklusjon

Vi har lært hvordan vi kan initialisere den statiske variabelen i samme funksjon gjennom et enkelt eksempel. Da diskuterte vi også hvordan vi skal erklære variabelen globalt og hvordan du skriver funksjonen utenfor hovedkroppen (), og deretter hvordan du kan ringe funksjonen gjennom forskjellige eksempler. Jeg håper at denne opplæringen vil være gunstig for deg når du lærer om statiske variabler i programmeringsspråket C.