Statika ir atslēgvārds, ko izmanto C programmēšanas valodā. To var izmantot gan ar mainīgajiem, gan ar funkcijām, t.i., mēs varam deklarēt arī statisku mainīgo un statisko funkciju. Parastais mainīgais ir ierobežots ar tvērumu, kurā tas ir definēts, savukārt statiskā mainīgā apjoms ir visā programmā.
Statisko atslēgvārdu var izmantot šādās situācijās:
Ja globālais mainīgais tiek deklarēts ar statisku atslēgvārdu, to sauc par statisku globālo mainīgo. Tas ir norādīts programmas augšdaļā, un tas ir redzams visā programmā.
Ja funkcija tiek deklarēta ar statisku atslēgvārdu, kas pazīstams kā statiskā funkcija. Tās darbības laiks ir visā programmā.
Ja vietējais mainīgais tiek deklarēts ar statisku atslēgvārdu, to sauc par statisku lokālo mainīgo. Statiskā lokālā mainīgā atmiņa ir derīga visā programmā, bet mainīgā redzamības apjoms ir tāds pats kā automātiskajiem lokālajiem mainīgajiem. Tomēr, ja funkcija modificē statisko lokālo mainīgo pirmās funkcijas izsaukuma laikā, šī modificētā vērtība būs pieejama arī nākamajam funkcijas izsaukumam.
Ja dalībnieku mainīgie tiek deklarēti ar statisku atslēgvārdu klasē, tad tos sauc par statiskiem dalībnieku mainīgajiem. Tiem var piekļūt visi klases gadījumi, nevis ar konkrētu gadījumu.
Klases dalībnieka funkcija, kas deklarēta ar statisku atslēgvārdu, ir pazīstama kā statiska metode. Tam var piekļūt visi klases gadījumi, nevis ar konkrētu gadījumu.
Sapratīsim, izmantojot piemēru.
#include int main() { printf('%d',func()); printf(' %d',func()); return 0; } int func() { int count=0; // variable initialization count++; // incrementing counter variable return count; }
Iepriekš minētajā kodā tiek izsaukta funkcija func (). Func () skaita mainīgais tiek atjaunināts. Tiklīdz funkcija pabeigs tās izpildi, skaitīšanas mainīgā atmiņa tiks noņemta. Ja mēs nevēlamies noņemt skaitu no atmiņas, mums ir jāizmanto mainīgais skaits kā statisks. Ja mēs deklarējam mainīgo kā statisku, tad mainīgais netiks izņemts no atmiņas pat tad, kad funkcija pabeigs tās izpildi.
Izvade
1 1
Statiskais mainīgais
Statiskais mainīgais ir mainīgais, kas saglabā savu vērtību dažādos funkciju izsaukumos.
masīva objekts java
Sintakse
Statiskā mainīgā sintakse ir norādīta zemāk:
static data_type variable_name;
Apskatīsim vienkāršu statiskā mainīgā piemēru.
#include int main() { printf('%d',func()); printf(' %d',func()); return 0; } int func() { static int count=0; count++; return count; }
Iepriekš minētajā kodā mēs esam deklarējuši skaitīšanas mainīgo kā statisku. Kad tiek izsaukts func(), count vērtība tiek atjaunināta uz 1, un nākamā funkcijas izsaukšanas laikā count mainīgā vērtība kļūst par 2. Tādējādi varam teikt, ka statiskā mainīgā vērtība saglabājas funkcijas izsaukumā. .
Izvade
1 2
Statiskā funkcija
Kā zināms, nestatiskās funkcijas pēc noklusējuma ir globālas, tas nozīmē, ka funkcijai var piekļūt arī ārpus faila, taču, ja funkciju pasludinām kā statisku, tas ierobežo funkcijas tvērumu. Statiskajai funkcijai var piekļūt tikai failā.
pitons vai
Statiskā funkcija izskatītos šādi:
static void func() { printf('Hello javaTpoint'); }
Atšķirības b/w statiskā un globālā mainīgā
Globālie mainīgie ir mainīgie, kas tiek deklarēti ārpus funkcijas. Šie globālie mainīgie pastāv programmas sākumā, un to darbības joma paliek līdz programmas beigām. Tam var piekļūt arī ārpus programmas.
java formāta virkne
Statiskie mainīgie ir ierobežoti līdz avota failam, kurā tie ir definēti, t.i., tiem nav pieejami citi avota faili.
Gan statiskajiem, gan globālajiem mainīgajiem ir statiska inicializācija. Šeit statiskā inicializācija nozīmē, ja mainīgajam nepiešķiram nekādu vērtību, tad pēc noklusējuma mainīgajam tiks piešķirta 0 vērtība.
Atšķirības b/w statiskā lokālā un statiskā globālā mainīgā
Statisks globālais mainīgais
Ja mainīgais deklarēts ar statisku atslēgvārdu ārpus funkcijas, tad to sauc par statisku globālo mainīgo. Tas ir pieejams visā programmā.
Statisks lokālais mainīgais
Mainīgais ar statisku atslēgvārdu tiek deklarēts funkcijā, kas pazīstams kā statisks lokālais mainīgais. Statiskā lokālā mainīgā darbības joma būs tāda pati kā automātiskajiem lokālajiem mainīgajiem, taču tā atmiņa būs pieejama visā programmas izpildes laikā. Ja viena funkcijas izsaukšanas laikā funkcija maina statiskā lokālā mainīgā vērtību, tā paliks nemainīga arī nākamā funkcijas izsaukuma laikā.
Statiskā mainīgā īpašības
Statiskā mainīgā īpašības ir šādas:
- Statiskā mainīgā atmiņa tiek iedalīta statiskā mainīgā.
- Tās atmiņa ir pieejama visā programmā, taču darbības joma paliks tāda pati kā automātiskajiem vietējiem mainīgajiem. Tās
- vērtība saglabāsies dažādos funkciju izsaukumos.
- Ja mēs nepiešķiram mainīgajam vērtību, noklusējuma vērtība būs 0.
- Globālajam statiskajam mainīgajam nevar piekļūt ārpus programmas, savukārt globālajam mainīgajam var piekļūt citi avota faili.