logo

Statikus C-ben

A statikus a C programozási nyelvben használt kulcsszó. Változókkal és függvényekkel egyaránt használható, azaz deklarálhatunk statikus változót és statikus függvényt is. Egy közönséges változó arra a hatókörre korlátozódik, amelyben meghatározásra került, míg a statikus változó hatóköre az egész programra vonatkozik.

A statikus kulcsszó a következő helyzetekben használható:

    Statikus globális változó
    Ha egy globális változót statikus kulcsszóval deklarálunk, akkor azt statikus globális változónak nevezzük. A program tetején van deklarálva, és láthatósága az egész program során.Statikus funkció
    Amikor egy függvényt statikus függvényként ismert statikus kulcsszóval deklarálunk. Élettartama a program teljes időtartamára vonatkozik.Statikus helyi változó
    Ha egy helyi változót statikus kulcsszóval deklarálunk, akkor azt statikus helyi változónak nevezzük. A statikus lokális változó memóriája az egész programban érvényes, de egy változó láthatósági köre megegyezik az automatikus lokális változókéval. Ha azonban a függvény az első függvényhívás során módosítja a statikus helyi változót, akkor ez a módosított érték a következő függvényhívásnál is elérhető lesz.Statikus tagváltozók
    Ha a tagváltozókat egy statikus kulcsszóval deklarálják egy osztályban, akkor azt statikus tagváltozóknak nevezzük. Ezeket egy osztály összes példánya érheti el, egy adott példánysal nem.Statikus módszer
    Egy osztály statikus kulcsszóval deklarált tagfüggvényét statikus metódusnak nevezzük. Egy osztály összes példánya számára elérhető, egy adott példánytól nem.

Értsük meg egy példán keresztül.

 #include int main() { printf('%d',func()); printf('
%d',func()); return 0; } int func() { int count=0; // variable initialization count++; // incrementing counter variable return count; } 

A fenti kódban a func() függvényt hívjuk meg. A func() count változó frissül. Amint a függvény befejezi a végrehajtást, a count változó memóriája törlődik. Ha nem akarjuk eltávolítani a számlálást a memóriából, akkor a count változót statikusként kell használnunk. Ha a változót statikusnak deklaráljuk, akkor a változó akkor sem törlődik a memóriából, amikor a függvény befejezi a végrehajtását.

Kimenet

húrépítő
 1 1 

Statikus változó

A statikus változó olyan változó, amely megőrzi értékét a különböző függvényhívások során.

Szintaxis

A statikus változó szintaxisa az alábbiakban látható:

 static data_type variable_name; 

Nézzünk egy egyszerű példát statikus változóra.

 #include int main() { printf('%d',func()); printf('
%d',func()); return 0; } int func() { static int count=0; count++; return count; } 

A fenti kódban a count változót statikusnak deklaráltuk. A func() meghívásakor a count értéke 1-re frissül, és a következő függvényhíváskor a count változó értéke 2 lesz. Tehát azt mondhatjuk, hogy a statikus változó értéke megmarad a függvényhíváson belül. .

az android.process.acore folyamatosan leáll

Kimenet

 1 2 

Statikus funkció

Mint tudjuk, hogy a nem statikus függvények alapértelmezés szerint globálisak, azt jelenti, hogy a függvény a fájlon kívül is elérhető, de ha statikusnak deklaráljuk, akkor az korlátozza a függvény hatókörét. A statikus funkció csak fájlon belül érhető el.

A statikus függvény így nézne ki:

 static void func() { printf('Hello javaTpoint'); } 

Különbségek fekete-fehér statikus és globális változó között

A globális változók a függvényen kívül deklarált változók. Ezek a globális változók a program elején léteznek, és hatókörük a program végéig megmarad. A programon kívül is elérhető.

A statikus változók csak arra a forrásfájlra korlátozódnak, amelyben meghatározásra kerültek, azaz nem érhetők el a többi forrásfájl számára.

Mind a statikus, mind a globális változóknak van statikus inicializálása. Itt a statikus inicializálás azt jelenti, hogy ha nem adunk értéket a változóhoz, akkor alapértelmezés szerint 0 érték lesz hozzárendelve a változóhoz.

pyspark

Különbségek b/w statikus lokális és statikus globális változó között

Statikus globális változó

Ha a változó a függvényen kívüli statikus kulcsszóval deklarált, akkor statikus globális változónak nevezzük. A program egész ideje alatt elérhető.

Statikus helyi változó

A statikus kulcsszóval rendelkező változó egy függvényen belül deklarálva statikus lokális változóként ismert. A statikus lokális változó hatóköre megegyezik az automatikus helyi változókéval, de a memóriája a programvégrehajtás teljes ideje alatt elérhető lesz. Ha a függvény egy függvényhívás során módosítja a statikus lokális változó értékét, akkor az a következő függvényhívás során is változatlan marad.

sharwanand

Statikus változó tulajdonságai

A statikus változók tulajdonságai a következők:

  • A statikus változó memóriája egy statikus változón belül van lefoglalva.
  • Memóriája az egész programban elérhető, de hatóköre ugyanaz marad, mint az automatikus helyi változóké. Az
  • érték megmarad a különböző függvényhívásokban.
  • Ha nem adunk értéket a változóhoz, akkor az alapértelmezett érték 0 lesz.
  • Globális statikus változó nem érhető el a programon kívül, míg a globális változóhoz más forrásfájlok is hozzáférhetnek.