C Programmeerimine

Staatiline C-programmeerimises

Staatiline C-programmeerimises
Selles õpetuses selgitame staatilist märksõna, rakendades seda muutujates ja funktsioonides. Staatiline on C-programmeerimisel kasutatav märksõna ja seda saab rakendada järgmise süntaksiga:

staatiline data type muutuja nimi

Staatilised lokaalsed muutujad

Kui funktsiooni muutuja on staatiline, säilitab muutuja oma väärtuse funktsioonikutsete vahel.

// Näide1.c
# kaasata
int fun1 ()

int arv = 0;
loend ++;
tagasiarvestus;

int fun2 ()

staatiline int-arv = 0;
loend ++;
tagasiarvestus;

int main ()

printf ("fun1 1. kõne tagastab:% d \ n", fun1 ());
printf ("fun1 2. kõne tagastab:% d \ n \ n", fun1 ());
printf ("fun2 1. kõne tagastab:% d \ n", fun2 ());
printf ("fun2 2. kõne tagastab:% d \ n", fun2 ());
tagastama 0;


Näites 1.c, meil on kaks funktsiooni: fun1 () ja fun2 (). Sisse fun1 (), deklareerime ühe muutuja (loenduse) ja lähtestame selle väärtuseks 0. Seejärel suurendame loendusmuutujat ja tagastame saadud väärtuse. Kasutamine peamine (), me helistame fun1 () kaks korda ja iga kord tagastatakse väärtus 1, kuna loenduse muutuja kustutatakse helistamisel fun1 () on valmis. Sisse fun2 () deklareerisime muutuja staatiliseks muutujaks. Seetõttu säilitatakse selle väärtus. Kasutamine peamine (), me helistame fun2 () kaks korda: esimesel korral tagastatakse väärtus 1 ja teisel korral väärtus 2.

Staatilised globaalsed muutujad

Staatiline globaalne muutuja käitub samamoodi nagu teised globaalsed muutujad, kuid sellele ei pääse juurde teisest C-programmist.

Staatilised funktsioonid

C-s on funktsioonid vaikimisi globaalsed. Kui aga kuulutame staatilise funktsiooni, siis on funktsioon lokaalne ja sellele ei pääse juurde teisest C-programmist.

Staatiliste muutujate initsialiseerimine

Kui staatilist muutujat pole initsialiseeritud, siis initsialiseeritakse see kui 0.

// Näide2.c
# kaasata
int main ()

staatiline int i;
printf ("i väärtus:% d \ n", i);
tagastama 0;


Näites2.c, kuulutasime staatilise muutuja i, mida ei initsialiseerita. Kuna muutuja on staatiline, lähtestatakse see automaatselt väärtusele 0.

Oluline on märkida, et staatiline muutuja tuleb initsialiseerida konstantse litraaliga; staatilise muutuja lähtestamiseks ei saa me funktsiooni tagastusväärtust kasutada.

Näide3.c
# kaasata
int fun1 ()

tagastus 5;

int main ()

staatiline int i = fun1 ();
printf ("i väärtus:% d \ n", i);
tagastama 0;


Näites3.c, proovime lähtestada staatilise muutuja, kasutades tagastusväärtust fun1 (). Kuid nagu näete, tagastatakse koodi koostamisel viga.

Kokkuvõte

Staatilise muutuja eluiga ja programmi eluiga on võrdsed.

Kui staatilist muutujat ei initsialiseerita, saab see vaikeväärtuse 0.

Üldisele staatilisele muutujale ega staatilisele funktsioonile pole juurdepääsu muust programmist kui see, milles see määratleti.

Jäljendage hiireklikke, hõljutades hiirega klõpsutut hiirt Windows 10-s
Hiire või klaviatuuri kasutamine liigses kasutamises vales asendis võib põhjustada palju terviseprobleeme, sealhulgas tüve, karpaalkanali sündroom ja ...
Nende tasuta tööriistade abil lisage Windows 10-le hiire liigutused
Viimastel aastatel on arvutid ja operatsioonisüsteemid palju arenenud. Oli aeg, mil kasutajad pidid failihaldurites navigeerimiseks kasutama käske. Na...
Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...