C programozás

Statikus a C programozásban

Statikus a C programozásban
Ebben az oktatóanyagban elmagyarázzuk a statikus kulcsszót a változókban és a függvényekben való alkalmazásával. A Static egy kulcsszó, amelyet a C programozásban használnak, és a következő szintaxissal alkalmazható:

statikus adattípus változó neve

Statikus lokális változók

Ha egy függvény változója statikus, a változó megőrzi értékét a függvényhívások között.

// Példa1.c
#include
int fun1 ()

int szám = 0;
szám ++;
visszatérés száma;

int fun2 ()

statikus int szám = 0;
szám ++;
visszatérés száma;

int main ()

printf ("fun1 első hívás visszatér:% d \ n", fun1 ());
printf ("fun1 2. hívás visszatér:% d \ n \ n", fun1 ());
printf ("fun2 1. hívás visszatér:% d \ n", fun2 ());
printf ("fun2 2. hívás visszatér:% d \ n", fun2 ());
visszatér 0;


Az 1. példában.c, két funkciónk van: fun1 () és fun2 (). Ban ben fun1 (), deklarálunk egy változót (számot) és inicializáljuk 0-ra. Ezután növeljük a számláló változót, és visszaadjuk a kapott értéket. Használata fő(), hívjuk fun1 () kétszer, és minden alkalommal 1-es értéket adunk vissza, mert a számláló változó törlődik a híváskor fun1 () kész. Ban ben fun2 () statikus változónak nyilvánítottuk a gróf változót. Ezért értéke megmarad. Használata fő(), hívjuk fun2 () kétszer: első alkalommal 1-es értéket adunk vissza, másodszor pedig 2-t.

Statikus globális változók

A statikus globális változó ugyanúgy viselkedik, mint a többi globális változó, de más C programból nem érhető el.

Statikus függvények

C-ben a függvények alapértelmezés szerint globálisak. Ha azonban statikus függvényt deklarálunk, akkor a függvény helyi, és nem érhető el egy másik C programból.

Statikus változók inicializálása

Ha egy statikus változó nincs kifejezetten inicializálva, akkor 0-ként inicializálódik.

// 2. példa.c
#include
int main ()

statikus int i;
printf ("i értéke:% d \ n", i);
visszatér 0;


A 2. példában.c, deklaráltunk egy i statikus változót, amely nincs inicializálva. Mivel azonban a változó statikus, automatikusan inicializálódik 0-ra.

Fontos megjegyezni, hogy a statikus változót állandó literálral kell inicializálni; nem használhatjuk a függvény visszatérési értékét egy statikus változó inicializálására.

// 3. példa.c
#include
int fun1 ()

visszatérés 5;

int main ()

statikus int i = fun1 ();
printf ("i értéke:% d \ n", i);
visszatér 0;


A 3. példában.c, megpróbálunk inicializálni egy statikus változót a visszatérő érték felhasználásával fun1 (). Amint azonban láthatja, a kód fordításakor hiba jelenik meg.

Összegzés

A statikus változó élettartama és a program élettartama megegyezik.

Ha egy statikus változó nincs inicializálva, akkor az alapértelmezett 0 értéket vesz fel.

Sem a globális statikus változó, sem a statikus függvény nem érhető el egy olyan programtól, amely eltér attól a programtól, amelyben meghatározták.

OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...
Csata a Wesnoth bemutatóért
A Battle for Wesnoth az egyik legnépszerűbb nyílt forráskódú stratégiai játék, amelyet jelenleg játszhatsz. Ez a játék nem csak nagyon hosszú ideje fe...