C staatilise märksõna sissejuhatus

Staatiline märksõna C-s varieerub erinevalt viisil, et see on märksõna, mida saab kasutada nii muutujate kui ka funktsioonidega. Seetõttu on väga vajalik mõlema piiritlemine, et saada märksõna tegelikud omadused või käitumine konkreetselt C-keele osas. Pisut keeruline on algajale nii põhjalikku täielikku mõistmist saada, et saaksime läbi süntaksi, reaalse töötamise, kuidas see C-funktsioonis töötab, mõned järgitavad normid ja reeglid, kuna võib olla pisut segane saada, millal seda kasutada muutuja ulatus ja millal funktsionaalse ploki ulatust kasutada.

Süntaks

1. Staatilise märksõna süntaks C-s muutuja määratlemisel:

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

2. Staatilise märksõna süntaks C-s funktsiooni määratlemisel:

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

Kuidas staatiline märksõna töötab C-s?

Põhimõtteliselt on staatilisel märksõnal C mõttes kaks viisi.

  • Staatiline märksõna funktsiooni sees.
  • Staatiline märksõna väljaspool funktsiooni.

1. Staatiline märksõna funktsiooni sees

Muutuja deklareerimine funktsioonis on seotud muutuja kompileerimise aja ja salvestamise kestusega funktsioonikõnes. Lihtsalt öeldes - staatilistena määratletud muutujad laiendavad nende ulatust mitmete funktsioonikõnede jaoks ja kui need on deklareeritud, ei saa need rakenduse rakenduse lõppemise lõppedes kaotada. Selle ulatust hakatakse määratlema ise koostamise ajal.

Näide

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

Väljund:

2. Staatiline märksõna väljaspool funktsiooni

Kui staatiline märksõna on kuulutatud väljaspool funktsiooni, piirab see muutuja ulatust ja muutub nähtavaks ainult aktiivsele failile, mis tähendab, et funktsiooni ulatus piirdub selle lähtefailiga. Sellele staatilisele muutujale või funktsioonile juurdepääs piirab muud lähtefaili.

Ehkki peetakse heaks funktsiooni kuulutamist staatiliseks, mis aitab andmete kapseldamisel kindlasse ulatusse. OOP-tausta või java-taustaga inimesed saavad seda hõlpsalt seostada privaatse ja avaliku toimimisega.

Näide

Muutujate määratlemiseks väljaspool funktsiooni, st globaalsel tasandil, peame määratlema vähemalt staatilise märksõna.

Määratlege ühes lähtefailis üks staatiline muutuja ja teises lähtefailis sama muutuja.

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);
)

Väljund:

Massiivi parameetri minimaalse suuruse määramine

On üks väga oluline kasutusviis, mida me mõnikord eirame, vaatame seda lähemalt.

Võime kompilaatorile öelda ka funktsiooni massiivi osuti elementide minimaalse deklareerimise salvestusparameetri. Kuid seda juhtumit jälgitakse väga harva (kuni C99 kompilaatorini).

Näide

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”);
)

Põhimõtteliselt teavitab see sellest, et argument pole tühine.

C-staatilise märksõna reeglid ja määrused

1. Staatilise muutuja osas

  • Staatiline muutuja jääb alati aktiivseks, kui programm on töörežiimis erinevalt automaat- ja reserveeritud märksõnadest.
  • Salvestusruum ja mälu eraldamine toimub andmesegmendis, mitte virnade segmendis.
  • Kui muutujat pole vaikimisi deklareeritud ühegi väärtusega, määratleb see kompilaatori selgesõnaliselt 0.
  • Staatiliste muutujate deklareerimisel kasutatakse enamasti konstantseid litreid.
  • Peamiselt arvatakse, et me ei peaks defineerima funktsionaalset staatilist muutujat, see muudab enamasti kogu funktsionaalse mooduli natuke keerukaks.

2. Staatilise funktsiooni osas

  • Muutuja deklareerimist peetakse vaikimisi põhimõtteliselt globaalseks, seetõttu muudab funktsiooni staatilise märksõna kasutamine selle ulatuse piiranguks, piirates sama lähtefaili ulatust.
  • Funktsiooni staatiliseks muutmise üks hea omadus on korduvkasutatavus, st võime helistada sama funktsiooni mitu korda, kui see on täitmiseks vajalik.

Eelised

  • Muutuja staatilisena käsitamine on selles mõttes kasulik, et see aitab kogu koodivoogu optimeerida.
  • Korduvkasutatavus ja ümberdefineerimine aitavad kompilaatoril helistada mis tahes muutujale sisemiselt, ilma et domineeriks mõni muu märksõna, näiteks välimine.
  • Veel üks eelis on loetavuse suurendamine viisil, et tulevikus saadakse kinnitus, et fail on staatiline ja sellele ei pääse juurde ükski teine ​​fail või lähtefail.
  • Samuti takistab see palju c-faili deklareerimist, st selle ümberkujundamist mõne muu välise muutujana.

Järeldus

  • Terminil „staatiline” on oma suundumus, kas seda peetakse mõistlikuks või mõttetuks. Erineval programmeerimiskeelel on erinevad tähendused, mis on seotud ainult staatilise märksõnaga. Objektorienteeritud keel, see käitub kapseldamisomadustega väga kenasti.
  • C, C # ja C ++ osas on sellel erinev olemus. Mõned peavad staatilise seadme kasutamist parimaks eeliste tõttu, nagu optimeerimine, korduvkasutatavus, ulatuse piiramine. Suurem osa sellest on lõpliku loetava faili kinnitamine.
  • Hiljem saavad mõned naiivsed kasutajad hõlpsalt teada saada, kas kaks lähtefaili ei kattu, kui staatiliste funktsioonide sisemine sisu ja staatiline muutuja kokku liidetakse, kuna see juhtub kompileerimisvea kaudu.
  • Kuid C osas ei peeta seda ohutuks ja turvaliseks viisiks, kuna keermete vaheline sisemine suhtlus muutub ohtlikuks ja keeruliseks, kuna see on lõpuks muutumas globaalseks muutujaks. Seetõttu ei peeta mõnikord statistilise märksõna kasutamist C-ga nii tavapäraseks.

Soovitatavad artiklid

See on juhend staatilisest märksõnast C-s. Siin käsitleme, kuidas staatiline märksõna töötab C-s reeglite ja määrustega. Lisateabe saamiseks võite vaadata ka järgmist artiklit -

  1. Muutujad C-s
  2. C-s vahetamine
  3. Matemaatika funktsioonid C-s
  4. Pöördarv C-ga
  5. Vahetamine PHP-s
  6. PHP märksõnad
  7. 5 parimat HTML-i sündmuse atribuuti koos näidetega

Kategooria: