C Programiranje

Statično v programiranju C

Statično v programiranju C
V tej vadnici bomo pojasnili statično ključno besedo tako, da jo bomo uporabili v spremenljivkah in funkcijah. Static je ključna beseda, ki se uporablja pri programiranju na C in jo je mogoče uporabiti z uporabo naslednje sintakse:

statična vrsta podatkov ime spremenljivke

Statične lokalne spremenljivke

Ko je spremenljivka v funkciji statična, spremenljivka ohrani svojo vrednost med klici funkcije.

// Primer1.c
#include
int fun1 ()

int count = 0;
štetje ++;
štetje donosov;

int fun2 ()

statično štetje int = 0;
štetje ++;
štetje donosov;

int main ()

printf ("fun1 1. klic vrne:% d \ n", fun1 ());
printf ("fun1 drugi klic vrne:% d \ n \ n", fun1 ());
printf ("fun2 prvi klic vrne:% d \ n", fun2 ());
printf ("fun2 drugi klic vrne:% d \ n", fun2 ());
vrnitev 0;


V primeru 1.c, imamo dve funkciji: zabava1 () in fun2 (). V zabava1 (), razglasimo eno spremenljivko (count) in jo inicializiramo na 0. Nato povečamo spremenljivko štetja in vrnemo nastalo vrednost. Uporaba glavni (), mi kličemo zabava1 () dvakrat in vsakič se vrne vrednost 1, ker se spremenljivka števila počisti, ko je klic na zabava1 () je končana. V fun2 () spremenljivko count smo razglasili za statično spremenljivko. Zato je njegova vrednost ohranjena. Uporaba glavni (), mi kličemo fun2 () dvakrat: prvič se vrne vrednost 1, drugič pa vrednost 2.

Statične globalne spremenljivke

Statična globalna spremenljivka se obnaša enako kot druge globalne spremenljivke, vendar do nje ni mogoče dostopati iz drugega programa C.

Statične funkcije

V C so funkcije privzeto globalne. Če pa razglasimo statično funkcijo, je funkcija lokalna in do nje ni mogoče dostopati iz drugega programa C.

Inicializacija statičnih spremenljivk

Če statična spremenljivka ni izrecno inicializirana, je inicializirana kot 0.

// Primer2.c
#include
int main ()

statični int i;
printf ("Vrednost i:% d \ n", i);
vrnitev 0;


V primeru2.c, razglasili smo statično spremenljivko i, ki ni inicializirana. Ker pa je spremenljivka statična, se samodejno inicializira na 0.

Pomembno je vedeti, da mora biti statična spremenljivka inicializirana s konstantno literalo; ne moremo uporabiti vrnjene vrednosti funkcije za inicializacijo statične spremenljivke.

// Primer3.c
#include
int fun1 ()

vrnitev 5;

int main ()

statični int i = fun1 ();
printf ("Vrednost i:% d \ n", i);
vrnitev 0;


V primeru3.c, poskusimo inicializirati statično spremenljivko z uporabo vrnjene vrednosti zabava1 (). Kot vidite, se pri prevajanju kode vrne napaka.

Povzetek

Življenjska doba statične spremenljivke in življenjska doba programa sta enaki.

Če statična spremenljivka ni inicializirana, bo dobila privzeto vrednost 0.

Niti globalna statična spremenljivka niti statična funkcija nista dostopni iz programa, razen tistega, v katerem je bila definirana.

Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...
Najboljše igre ukazne vrstice za Linux
Ukazna vrstica ni le vaš največji zaveznik pri uporabi Linuxa - lahko je tudi vir zabave, saj jo lahko uporabljate za igranje številnih zabavnih iger,...