Aflați despre variabila statică în C [cu exemplu de codare]
Publicat: 2020-10-21În călătoria dvs. de programare, este posibil să fi lucrat cu majoritatea variabilelor. Ele sunt un aspect foarte important pentru orice programator, deoarece declararea unei variabile determină dimensiunea, aspectul, intervalul de valori stocate în memorie și setul de operații care trebuie aplicate acesteia. Este numele dat unei zone de stocare pe care un program o poate manipula. În acest articol, vom discuta una dintre cele mai importante variabile din C, adică variabila statică .
Cuvântul cheie static în C este folosit destul de frecvent. Un lucru care este adesea confundat de majoritatea programatorilor este modul în care variabilele locale și globale afectează statica. În fiecare caz, cuvântul cheie static funcționează diferit în ceea ce privește locul în care sunt stocate datele și modul în care se comportă în cadrul programului. Următoarele sunt utilizările principale ale unui cuvânt cheie static:
i. O variabilă locală într-o funcție sau variabilă locală statică: Vizibilitatea este aceeași cu variabilele locale automate.
ii. Variabilă globală într-un modul sau variabilă globală statică: Declarată în partea de sus a unui program.
iii. O funcție dintr-un modul sau o funcție statică: există în întregul program.
iv. Variabilă membru sau variabilă membru statică: Accesată de toate instanțele unei clase.

v. O metodă sau metodă statică: Accesată de toate instanțele unei clase.
Vom analiza toate cele trei cazuri de utilizare și modul în care se schimbă cu zona de stocare a variabilei și vom îmbunătăți calitatea codului.
Cuprins
Ce este o variabilă statică?
În programare, o variabilă statică este cea alocată „static”, ceea ce înseamnă că durata sa de viață este pe toată durata rulării programului. Este declarat cu cuvântul cheie „static” și își păstrează valoarea pe parcursul apelurilor de funcție.
Sintaxă:
Sintaxa unei variabile statice este:
static data_type nume_variabilă;
Declarație de variabilă statică
Când o variabilă statică este declarată, este creată o copie a acesteia. Scopul principal, acestea sunt utilizate în locul unei variabile locale este acela de a păstra valoarea atribuită în domeniul în care este prezentă. Programatorul nu trebuie să inițializeze variabila din nou și din nou în noul domeniu de aplicare al unui program. Există pe tot parcursul programului.
Static, în general, este un specificator de clasă de stocare aplicat oricărui tip de date. Acesta direcționează compilatorul să limiteze o variabilă sau o funcție în domeniul de aplicare al programului și persistă pe toată durata de viață a programului. Această proprietate permite variabilelor statice să fie încapsulate sau ascunse din restul programului, împiedicând orice acces neintenționat. Dezvoltatorul poate controla modul în care sunt accesate variabilele într-un modul. Aceasta este o practică bună de programare.
Citiți: Top 130+ întrebări și răspunsuri la interviu Java
Variabilă statică într-un program
· O variabilă statică rămâne în spațiul de memorie în timpul execuției întregului cod.
· Valoarea implicită de inițializare a unei variabile statice este zero, chiar dacă nu este atribuită, ceea ce nu este cazul unei variabile locale.
· Este obligatoriu să inițializați variabila statică folosind cuvântul cheie static în C , altfel va returna o eroare.
· Variabila statică este inițializată doar prima dată când este apelată o funcție.
· Într-o variabilă statică , este alocată memoria unei variabile statice .

· O variabilă statică globală nu este accesibilă în afara programului.
Program de bază pe variabila statică în C
#include <stdio.h>
int main()
{
printf(“%d”,func());
printf(“\n%d”,func());
returnează 0;
}
int func()
{
static int count=0;
numără++;
număr de returnări ;
}
Aici, în acest cod, variabila count este declarată ca o variabilă statică . La fiecare apel al func(), valoarea count se actualizează la 1. În următorul apel de funcție, valoarea variabilei count devine 2. Astfel, valoarea variabilei statice persistă în apelul funcției.
Ieșire:
1
2
Diferența dintre variabila locală și cea statică
Atât variabilele locale, cât și cele statice sunt utilizate în mod interschimbabil într-un program. Iată câteva diferențe cheie între cele două:
Puncte distinctive | Variabila locala | Variabila statica |
Declarație de cuvinte cheie variabile | 1. Este declarată de o variabilă automată, de exemplu, int a = 1. | 1. Este declarată de o variabilă statică , de exemplu, static int a = 1. |
Declarație variabilă | 2. Se declara in interiorul functiei. | 2. Se declara fie in interiorul, fie in afara functiei. |
Crearea variabilelor | 3. Este creat de fiecare dată când este apelată o funcție. | 3. Este creat doar pentru primul apel de funcție și aceeași variabilă este folosită pentru apelul ulterioar. |
Inițializare variabilă | 4. Este inițializată de fiecare dată când este apelată o funcție. | 4. Este inițializat o singură dată într-un program. |
Valoare implicită variabilă | 5. Dacă nu este inițializată, o valoare de gunoi este stocată în variabilă. | 5. Dacă nu este inițializată, valoarea 0 este stocată implicit în mod static. |
Terminare variabilă | 6. Când funcția se termină, se încheie. | 6. Dacă este declarat în interiorul unei funcții, este accesibil numai în acea funcție. Domeniul de aplicare este limitat la acea funcție și durata de viață a acesteia este până la terminarea programului. Dacă este declarată în afara funcției, variabila va fi globală și accesibilă de către orice funcție din fișier. Scopul este fișierul, dar durata de viață este până când programul se termină. |
Cu acest tabel, este clar de ce variabilele statice sunt preferate variabilelor locale.
Cod care cuprinde atât o variabilă locală, cât și o variabilă statică
#include <stdio.h>
int main() {
auto int a = -15;
static int b = 5;
printf(„Valoarea variabilei auto a este %d\n”, a);
printf(„Valoarea variabilei statice b este %d\n”,b);
dacă(a!=0)
printf(„Suma variabilelor statice și auto este %d\n”,(b+a));
returnează 0;
}
Ieșire program:
Valoarea variabilei auto este -15

Valoarea variabilei statice este 5
Suma variabilei statice și auto este -10
Citește și: C Idei de proiecte
rezumat
Cuvântul cheie static este utilizat pe scară largă pentru multe caracteristici pe care le oferă în programarea C. Utilizarea sa principală este de a limita domeniul de aplicare al variabilelor definite într-o funcție sau modul. Dezvoltatorii pot experimenta securitate, deoarece variabilele și funcțiile pot fi ascunse de programul extern prin utilizarea variabilei statice . În multe limbaje moderne orientate pe obiecte, utilizarea statiei este înlocuită cu cea privată și publică.
Dacă sunteți interesat să aflați mai multe și aveți nevoie de mentorat de la experții din industrie, consultați Diploma PG de la upGrad și IIIT Banglore în Dezvoltare Software Full-Stack .