C Programiranje

Statičko programiranje u C-u

Statičko programiranje u C-u
U ovom uputstvu objasnit ćemo statičnu ključnu riječ primjenjujući je u varijablama i funkcijama. Static je ključna riječ koja se koristi u programiranju na C, a može se primijeniti pomoću sljedeće sintakse:

statička vrsta podataka naziv varijable

Statičke lokalne varijable

Kad je varijabla u funkciji statična, ona čuva svoju vrijednost između poziva funkcije.

// Primjer1.c
#include
int fun1 ()

broj brojeva = 0;
brojati ++;
broj vraćanja;

int fun2 ()

statički broj int = 0;
brojati ++;
broj vraćanja;

int main ()

printf ("fun1 1. poziv vraća:% d \ n", fun1 ());
printf ("fun1 drugi poziv vraća:% d \ n \ n", fun1 ());
printf ("fun2 1. poziv vraća:% d \ n", fun2 ());
printf ("fun2 drugi poziv vraća:% d \ n", fun2 ());
return 0;


U primjeru 1.c, imamo dvije funkcije: zabava1 () i fun2 (). U zabava1 (), deklariramo jednu varijablu (count) i inicijaliziramo je na 0. Zatim povećavamo varijablu count i vraćamo rezultirajuću vrijednost. Koristeći glavni(), mi zovemo zabava1 () dva puta i svaki put se vraća vrijednost 1 jer se varijabla count briše prilikom poziva na zabava1 () je dovršen. U fun2 () proglasili smo varijablu count kao statičku varijablu. Stoga se njegova vrijednost čuva. Koristeći glavni(), mi zovemo fun2 () dva puta: prvi put se vraća vrijednost 1, a drugi put vraća vrijednost 2.

Statičke globalne varijable

Statička globalna varijabla ponaša se na isti način kao i ostale globalne varijable, ali ne može joj se pristupiti iz drugog C programa.

Statičke funkcije

U C su funkcije prema zadanim postavkama globalne. Međutim, ako deklariramo statičku funkciju, tada je funkcija lokalna i ne može joj se pristupiti iz drugog programa C.

Inicijalizacija statičkih varijabli

Ako statička varijabla nije eksplicitno inicijalizirana, tada je inicijalizirana kao 0.

// Primjer2.c
#include
int main ()

statički int i;
printf ("Vrijednost i:% d \ n", i);
return 0;


U Primjeru2.c, proglasili smo statičku varijablu i koja nije inicijalizirana. Međutim, budući da je varijabla statična, automatski se inicijalizira na 0.

Važno je napomenuti da statičku varijablu mora inicijalizirati konstantni literal; ne možemo koristiti povratnu vrijednost funkcije za inicijalizaciju statičke varijable.

// Primjer3.c
#include
int fun1 ()

povratak 5;

int main ()

statički int i = fun1 ();
printf ("Vrijednost i:% d \ n", i);
return 0;


U Primjeru3.c, pokušavamo inicijalizirati statičku varijablu koristeći povratnu vrijednost zabava1 (). Međutim, kao što vidite, pogreška se vraća prilikom prevođenja koda.

Sažetak

Životni vijek statičke varijable i životni vijek programa jednaki su.

Ako statička varijabla nije inicijalizirana, tada će poprimiti zadanu vrijednost 0.

Ni globalnoj statičkoj varijabli ni statičkoj funkciji nije dostupan program izuzev onog u kojem je definirana.

Instalirajte najnoviju strategiju igre OpenRA na Ubuntu Linux
OpenRA je Libre / Free Real Time strateški pokretač igre koji stvara rane Westwoodove igre poput klasične Command & Conquer: Red Alert. Distribuirani ...
Instalirajte najnoviji Dolphin Emulator za Gamecube i Wii na Linux
Dolphin Emulator omogućuje vam igranje odabranih Gamecube i Wii igara na Linux osobnim računalima (PC). Dolphin Emulator je slobodno dostupan i emula...
Kako koristiti GameConqueror Cheat Engine u Linuxu
Članak pokriva vodič o korištenju GameConqueror varalice u Linuxu. Mnogi korisnici koji igraju igre na sustavu Windows često koriste aplikaciju "Cheat...