Introduksjon til statisk nøkkelord i C

Statisk nøkkelord i C varierer forskjellig på en måte at det er et nøkkelord som kan brukes med variabler så vel som med funksjoner. Derfor er det veldig mye behov for å få en avgrensning både for å få de faktiske egenskapene eller oppførselen til nøkkelordet spesifikt når det gjelder C-språk. Det er litt vanskelig å få fullstendig forståelse så grundig for en nybegynner, så vi vil kjøre gjennom syntaks, faktisk jobbe hvordan det fungerer i C, noen normer og regler som skal følges, da det kan være litt forvirrende å få når man skal bruke den til omfanget av variabel og når det skal brukes til omfang av funksjonsblokk.

syntax

1. Syntaks for statiske nøkkelord i C når du definerer en variabel:

static
static
Examples of syntax for static variables:
static int run = 0;
int static sleep = 0;

2. Syntaks for statiske nøkkelord i C når du definerer en funksjon:

static
static
Examples of syntax for static functions:
static void run ()
(
)
void static sleep ()
(
)

Hvordan statisk nøkkelord fungerer i C?

I utgangspunktet er det to måter statiske søkeord fungerer i form av C.

  • Det statiske nøkkelordet i en funksjon.
  • Det statiske nøkkelordet utenfor en funksjon.

1. Statisk nøkkelord i en funksjon

Erklæring av variabelen i en funksjon er assosiert med kompileringstiden og lagringsvarigheten til variabelen i et funksjonssamtaler. Jeg enkle ord, variabler definert som statiske utvider omfanget for flere funksjonssamtaler og når en gang deklarert kan ikke miste omfanget før slutten av programutførelsen er fullført. Det begynner å definere omfanget på selve kompileringstiden.

Eksempel

# include
int main ()
(
run ();
run ();
run ();
)
void run ()
(
static int running = 0;
++running;
printf ("The function \"run\" was called %d times.\n", running);
)

Produksjon:

2. Statisk nøkkelord utenfor en funksjon

Når det statiske nøkkelordet er erklært utenfor en funksjon, begrenser det omfanget av variabelen og blir bare synlig for den gjeldende filen, noe som betyr at funksjonen vil få sitt omfang begrenset til selve kildefilen. Tilgang til den statiske variabelen eller funksjonen får begrensning fra en annen kildefil.

Selv om det anses som bra å erklære en funksjon som statisk som hjelper i datakapsling til et bestemt omfang. Personer med bakgrunn fra OOP eller Java-bakgrunn kan enkelt forholde seg til det private og det offentlige søkeordet som fungerer.

Eksempel

For å definere variabler i ytre funksjon dvs. på globalt nivå må vi definere minst statiske nøkkelord.

Definer en statisk variabel i en kildefil og den samme variabelen i den andre variabelen i en annen kildefil.

Source1.c
static int sleep = 0;
Source2.c
static int sleep= 0;
static void sleep ()
(
static int sleeping = 0;
++ sleeping;
printf (“the function \ “sleep\” was called %d times.\n”, sleeping);
)

Produksjon:

Angi minimumsstørrelsen på en matriseparameter

Det er en veldig viktig bruk som vi ignorerer noen ganger la oss se på det.

Vi kan fortelle kompilatoren lagringsparameteren for minimumsdeklarasjonen av elementer i en matrisepeker til en funksjon også. Men denne saken følges veldig sjelden (fulgt til C99-kompilatoren).

Eksempel

Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)
Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)

I utgangspunktet vil dette informere om at argumentet ikke vil være null.

Regler og forskrifter for det statiske nøkkelordet i C

1. Når det gjelder statisk variabel

  • En statisk variabel forblir alltid i live når et program er i kjørt tilstand i motsetning til auto og reserverte nøkkelord.
  • Lagring og minnetildeling skjer i datasegmentet, ikke i stakesegmentet.
  • Hvis variabelen ikke er deklarert med noen verdi som standard, vil den definere eksplisitt av kompilatoren som 0.
  • Erklæring om statiske variabler gjøres for det meste ved bruk av konstante bokstaver.
  • Det vurderes først og fremst at vi ikke skal definere en statisk variabel i en funksjon, det gjør stort sett hele funksjonsmodulen litt kompleks.

2. Når det gjelder statisk funksjon

  • Erklæring om variabelen er i utgangspunktet ansett som global som standard, derfor ved bruk av statiske nøkkelord med en funksjon gjør den begrenset innen omfang ved å begrense omfanget i samme kildefil.
  • Et godt kjennetegn ved å gjøre funksjonen statisk er gjenbrukbarhet, dvs. vi kan ringe den samme funksjonen flere ganger når det er nødvendig for utførelse.

Fordeler

  • Å vurdere en variabel som statisk er fordelaktig i den forstand at det hjelper med å optimalisere hele kodeflyten.
  • Gjenbruk og redefinisjon hjelper kompilatoren til å ringe hvilken som helst variabel internt uten å gjøre noe annet nøkkelord som extern til å dominere.
  • En annen fordel er å øke lesbarheten på en slik måte at fremtiden vil få en erkjennelse av at filen er erklært som statisk og ikke er tilgjengelig av noen annen fil eller kildefil.
  • Det forhindrer også at mye erklærer c-filen, dvs. redeklarer den som en annen ekstern variabel.

Konklusjon

  • Begrepet "statisk" har sin egen trend om det skal anses som fornuftig eller uten mening. Det forskjellige programmeringsspråket har forskjellige betydninger bare relatert til det statiske nøkkelordet. Objektorientert språk, det oppfører seg med en innkapslingsegenskap veldig pent.
  • Når det gjelder C, C #, og C ++ har det en annen karakter. Noen anser bruken av statisk som best på grunn av fordelene det kan skilte med som optimalisering, gjenbrukbarhet, omfangsbegrensning. Det meste er erkjennelsen av den endelige lesbare filen.
  • Senere en gang, inkludert noen naive brukere, kan du enkelt bli kjent med om to kildefiler ikke stemmer overens ved å stemme overens med det interne innholdet i de statiske funksjonene og den statiske variabelen, slik det vil være gjennom kompilasjonsfeilen.
  • Men når det gjelder C, blir dette ikke betraktet som en trygg og sikker måte fordi den interne kommunikasjonen mellom trådene blir utrygge og vanskelige, ettersom den til slutt blir en global variabel. Derfor anses det noen ganger som ikke så konvensjonell måte når det gjelder C å benytte seg av statiske nøkkelord i C.

Anbefalte artikler

Dette er en guide til statisk nøkkelord i C. Her diskuterer vi hvordan statisk nøkkelord fungerer i C med regler og forskrifter. Du kan også se på følgende artikkel for å lære mer -

  1. Variabler i C.
  2. Bytt i C
  3. Matematikkfunksjoner i C
  4. Omvendt antall i C
  5. Bytt i PHP
  6. PHP nøkkelord
  7. Topp 5 HTML-attributter med eksempler