Bevezetés a statikus kulcsszóba a C

A statikus kulcsszó a C-ben eltérő módon változik, olyan kulcsszóként, amely használható a változókkal és a funkciókkal. Ezért nagyon fontos, hogy mindkét oldalról elhatárolódjunk, hogy megkapjuk a kulcsszó tényleges tulajdonságait vagy viselkedését, különös tekintettel a C nyelvre. Kicsit nehéz annyira alaposan megszerezni a teljes megértést egy kezdő számára, hogy átnézzük a szintaxist, a tényleges működést, hogyan működik a C, néhány betartandó normát és szabályt, mivel kissé zavaró lehet, ha megtudjuk, mikor kell használni. a változó hatóköre és mikor kell használni a funkcionális blokk hatóköréhez.

Szintaxis

1. A statikus kulcsszó szintaxisa C-ben egy változó meghatározásakor:

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

2. A statikus kulcsszó szintaxisa C-ben egy függvény meghatározásakor:

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

Hogyan működik a statikus kulcsszó a C-ben?

Alapvetően kétféle módon működik a statikus kulcsszó a C szempontjából.

  • A statikus kulcsszó egy funkción belül.
  • A statikus kulcsszó egy funkción kívül.

1. Statikus kulcsszó egy funkción belül

A változó deklarálása egy függvényen a függvényhíváson belüli változó fordítási idejével és tárolási idejével van társítva. Egyszerű szavakkal: a statikusként definiált változók kiterjesztik azok alkalmazási körét több funkcióhívásra, és egyszer kijelentve nem tudják elveszíteni hatókörét a program végrehajtásának befejezéséig. Magát a fordítási időben kezd meghatározni a hatálya.

Példa

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

Kimenet:

2. Statikus kulcsszó egy funkción kívül

Amint a statikus kulcsszót egy funkción kívül deklarálják, korlátozza a változó hatókörét, és csak az aktuális fájl számára lesz látható, ami azt jelenti, hogy a függvény hatóköre a forrásfájlra korlátozódik. A statikus változó vagy funkció elérése korlátozást jelent egy másik forrásfájlból.

Jó érzésnek tekinthető, ha egy funkciót statikusnak nyilvánítanak, amely elősegíti az adatok meghatározott területre történő beágyazását. Az OOP vagy a java háttérrel rendelkező emberek könnyen összekapcsolhatják azt a magán és a nyilvános kulcsszó működésével.

Példa

A változó meghatározásához a külső függvényben, azaz globális szinten legalább statikus kulcsszót kell meghatároznunk.

Adjon meg egy statikus változót egy forrásfájlban, ugyanazt a változót egy másik forrásfájlban.

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

Kimenet:

Egy tömbparaméter minimális méretének meghatározása

Van egy nagyon lényeges felhasználás, amelyet figyelmen kívül hagyunk, néha nézzük meg.

Megmondhatjuk a fordítónak a tömb mutatón belüli elemek minimális deklarációs tároló paraméterét egy függvényhez is. De ezt az esetet nagyon ritkán követik (a C99 fordítóig).

Példa

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

Alapvetően ez azt jelenti, hogy az érv nem lesz semmis.

A statikus kulcsszóra vonatkozó szabályok és előírások

1. A statikus változó szempontjából

  • A statikus változó mindig életben marad, ha a program futási állapotban van, ellentétben az automatikus és fenntartott kulcsszavakkal.
  • A tárolás és a memória elosztása az adatszegmensben, nem pedig a veremszegmensben történik.
  • Alapértelmezés szerint, ha a változót alapértelmezés szerint egyetlen értékkel sem deklarálják, akkor a fordító kifejezetten 0-ként határozza meg.
  • A statikus változók deklarálása többnyire állandó literálokkal történik.
  • Elsődlegesen úgy gondoljuk, hogy nem szabad egy statikus változót definiálni egy függvényen belül, mivel az az egész funkcionális modult általában egy kicsit összetettebbé teszi.

2. A statikus függvény szempontjából

  • A változó deklarálása alapvetően globálisnak tekinthető, ezért egy statikus kulcsszó használata funkcióval korlátozza a hatókörön belüli korlátozást, ugyanakkor a forrásfájl határainak korlátozásával.
  • A funkció statikussá tételének egyik jó tulajdonsága az újrafelhasználhatóság, azaz ugyanazt a funkciót többször is felhívhatjuk, amikor csak a végrehajtáshoz szükséges.

Előnyök

  • A változó statikusnak tekintése előnyös abban az értelemben, hogy elősegíti a teljes kódáramlás optimalizálását.
  • Az újrafelhasználhatóság és az újradefiniálás segíti a fordítót, hogy bármilyen változót belsőleg meghívjon anélkül, hogy bármilyen más kulcsszó, például az externum dominálná.
  • Egy másik előnye az olvashatóság javítása oly módon, hogy a jövőben nyugtázást kap arra vonatkozóan, hogy a fájlt statikusnak nyilvánítják, és hogy más fájl vagy forrásfájl nem érhető el.
  • Ez egyben azt is megakadályozza, hogy a c fájlt deklarálják, vagyis más külső változóként nyújtsák be.

Következtetés

  • A „statikus” kifejezésnek megvan a maga trendje, értelmesnek vagy értelmetlennek kell tekinteni. A különböző programozási nyelveknek csak a statikus kulcsszóval kapcsolatos eltérő jelentése van. Objektum-orientált nyelv, ez nagyon jól viselkedik a kapszulázási tulajdonsággal.
  • C, C # és C ++ szempontjából eltérő természetű. Egyesek a statikus használatot tartják a legjobbnak az előnyeivel, mint például az optimalizálás, az újrafelhasználhatóság, a hatókör korlátozása. Ennek nagy része a véglegesen olvasható fájl visszaigazolása.
  • Később valamilyen naiv felhasználó részvételével könnyen megismerkedhetnek, ha két forrásfájl nem egyezik-e, ha összekapcsolják a statikus függvények belső tartalmát és a statikus változót, mivel ez a fordítási hibán alapul.
  • A C szempontjából azonban ezt nem tekintik biztonságosnak, mivel a szálak közötti belső kommunikáció nem biztonságos és nehéz, mivel végül globális változóvá válik. Ezért néha úgy tekintik, hogy a C szempontjából nem olyan szokásos módszer, ha a statikus kulcsszót használják a C-ben.

Ajánlott cikkek

Ez egy útmutató a statikus kulcsszóhoz C.-ban. Itt tárgyaljuk, hogyan működik a statikus kulcsszó a C-ben a szabályokkal és rendeletekkel. A következő cikkben további információkat is megnézhet -

  1. Változók C-ben
  2. C csere
  3. C matematikai funkciók
  4. Fordított szám C-ben
  5. Csere a PHP-ben
  6. PHP kulcsszavak
  7. Az 5 legnépszerűbb HTML eseményttribútum példákkal

Kategória: