C Programmēšana

Statiskā C programmēšanā

Statiskā C programmēšanā
Šajā apmācībā mēs izskaidrosim statisko atslēgvārdu, pielietojot to mainīgajos un funkcijās. Static ir atslēgvārds, ko izmanto C programmēšanā, un to var izmantot, izmantojot šādu sintaksi:

statisks datu tips mainīgā nosaukums

Statiskie lokālie mainīgie

Kad mainīgais funkcijā ir statisks, mainīgais saglabā vērtību starp funkciju izsaukumiem.

// Piemērs1.c
# iekļaut
int fun1 ()

int skaits = 0;
skaits ++;
atgriešanās skaits;

int fun2 ()

statiskais int skaits = 0;
skaits ++;
atgriešanās skaits;

int main ()

printf ("fun1 1. zvana atgriešanās:% d \ n", fun1 ());
printf ("fun1 2. zvana atgriešanās:% d \ n \ n", fun1 ());
printf ("fun2 1. zvana atgriešanās:% d \ n", fun2 ());
printf ("fun2 2. zvana atgriešanās:% d \ n", fun2 ());
atgriešanās 0;


1. piemērā.c, mums ir divas funkcijas: fun1 () un fun2 (). In fun1 (), mēs deklarējam vienu mainīgo (skaitu) un inicializējam to līdz 0. Tad mēs palielinām skaitītāja mainīgo un atgriežam iegūto vērtību. Izmantojot galvenais (), Mēs saucam fun1 () divreiz, un katru reizi tiek atgriezta vērtība 1, jo skaita mainīgais tiek notīrīts, kad zvans uz fun1 () ir pabeigta. In fun2 () mēs deklarējām skaitāmo mainīgo kā statisko mainīgo. Tāpēc tā vērtība tiek saglabāta. Izmantojot galvenais (), Mēs saucam fun2 () divreiz: pirmo reizi tiek atgriezta vērtība 1, bet otro reizi - vērtība 2.

Statiskie globālie mainīgie

Statiskais globālais mainīgais izturas tāpat kā citi globālie mainīgie, taču tam nevar piekļūt no citas C programmas.

Statiskās funkcijas

C, pēc noklusējuma funkcijas ir globālas. Tomēr, ja mēs deklarējam statisku funkciju, tad funkcija ir lokāla, un tai nevar piekļūt no citas C programmas.

Statisko mainīgo inicializēšana

Ja statiskais mainīgais nav tieši inicializēts, tas tiek inicializēts kā 0.

// Piemērs2.c
# iekļaut
int main ()

statiskā int i;
printf ("i vērtība:% d \ n", i);
atgriešanās 0;


2. piemērā.c, mēs deklarējām statisko mainīgo i, kas nav inicializēts. Tā kā mainīgais ir statisks, tas tiek automātiski inicializēts uz 0.

Ir svarīgi atzīmēt, ka statiskais mainīgais ir jāinicializē ar nemainīgu literālu; mēs nevaram izmantot funkcijas atgriešanās vērtību, lai inicializētu statisko mainīgo.

// Piemērs3.c
# iekļaut
int fun1 ()

atgriešanās 5;

int main ()

statiskais int i = fun1 ();
printf ("i vērtība:% d \ n", i);
atgriešanās 0;


3. piemērā.c, mēs mēģinām inicializēt statisko mainīgo, izmantojot atgriezto vērtību fun1 (). Tomēr, kā redzat, koda apkopošanas laikā tiek atgriezta kļūda.

Kopsavilkums

Statiskā mainīgā ilgums un programmas kalpošanas laiks ir vienādi.

Ja statiskais mainīgais netiek inicializēts, tas iegūst noklusējuma vērtību 0.

Ne globālais statiskais mainīgais, ne statiskā funkcija nav pieejama no citas programmas, izņemot to, kurā tā tika definēta.

Kā tvert un straumēt spēļu sesiju operētājsistēmā Linux
Agrāk spēļu spēlēšana tika uzskatīta tikai par hobiju, taču laika gaitā spēļu industrija piedzīvoja milzīgu tehnoloģiju un spēlētāju skaita pieaugumu....
Labākās spēles, ko spēlēt ar rokas izsekošanu
Oculus Quest nesen iepazīstināja ar lielisku ideju par rokas izsekošanu bez kontrolieriem. Ar arvien lielāku spēļu un aktivitāšu skaitu, kas atbalsta ...
Kā parādīt OSD pārklājumu pilnekrāna Linux lietotnēs un spēlēs
Spēlējot pilnekrāna spēles vai lietojot lietotnes bez atrautības pilnekrāna režīmā, jūs varat izslēgt no attiecīgās sistēmas informācijas, kas redzama...