Diferența dintre variabila locală și globală

Cuprins:

Anonim

Ce este o variabilă?

Variabila este un nume atribuit unei zone de stocare pe care programul o poate manipula. Un tip de variabilă determină dimensiunea și aspectul memoriei variabilei.

De asemenea, determină gama de valori care trebuie stocate în memoria respectivă și natura operațiunilor care pot fi aplicate acelei variabile.

În acest tutorial, veți învăța

  • Domeniul de aplicare al variabilelor
  • Definiția variabilei locale
  • Definiția Global Variable
  • Variabila locală vs. Variabilele globale
  • Avantajele utilizării variabilelor globale
  • Avantajele utilizării variabilelor locale
  • Dezavantaje ale utilizării variabilelor globale
  • Dezavantaje ale utilizării variabilelor locale
  • Ce este mai util?

Domeniul de aplicare al variabilelor

Domeniul de aplicare al variabilei este pur și simplu durata de viață a unei variabile. Este un bloc de cod sub care o variabilă este aplicabilă sau activă. De exemplu:

function foo(){var x;}

Declarați o variabilă "x" în interiorul unei funcții "foo". Domeniul acelei variabile rămâne în interiorul acelei funcții și nu poate fi utilizat în afara acelei funcții.

Există trei locuri în care variabile pe care le puteți declara limbaj de programare variabil:

  • În interiorul unei funcții sau a unui bloc: Variabile locale
  • În afara tuturor funcțiilor: Variabile globale
  • În definiția parametrilor funcției: Parametri formali

DIFERENȚA CHEIE

  • Variabila locală este declarată în interiorul unei funcții, în timp ce variabila globală este declarată în afara funcției.
  • Variabilele locale sunt create atunci când funcția a început execuția și se pierde la terminarea funcției, pe de altă parte, variabila globală este creată pe măsură ce începe executarea și se pierde la sfârșitul programului.
  • Variabila locală nu oferă schimb de date, în timp ce variabila globală oferă schimb de date.
  • Variabilele locale sunt stocate în stivă, în timp ce variabila Global este stocată într-o locație fixă ​​decisă de compilator.
  • Transmiterea parametrilor este necesară pentru variabilele locale, în timp ce nu este necesară pentru o variabilă globală

Variabilă locală

Variabila locală este definită ca un tip de variabilă declarată în cadrul blocului de programare sau subrutine. Poate fi utilizat numai în interiorul subrutinei sau al blocului de cod în care este declarat. Variabila locală există până când blocul funcției este în curs de execuție. După aceea, va fi distrus automat.

Exemplu de variabilă locală

public int add(){int a =4;int b=5;return a+b;}

Aici, „a” și „b” sunt variabile locale

Variabilă globală

O variabilă globală din program este o variabilă definită în afara subrutinei sau funcției. Are un domeniu global înseamnă că își păstrează valoarea pe tot parcursul vieții programului. Prin urmare, poate fi accesat în întregul program prin orice funcție definită în cadrul programului, cu excepția cazului în care este umbrită.

Exemplu:

int a =4;int b=5;public int add(){return a+b;}

Aici, „a” și „b” sunt variabile globale.

Variabila locală vs. Variabile globale

Iată câteva diferențe fundamentale între variabilele locale și globale.

Parametru Local Global
Domeniul de aplicare Este declarat în interiorul unei funcții. Este declarat în afara funcției.
Valoare Dacă nu este inițializată, este stocată o valoare de gunoi Dacă nu este inițializat, zero este stocat ca implicit.
Durata de viață Este creat atunci când funcția începe executarea și se pierde când funcțiile se termină. Este creat înainte de începerea execuției globale a programului și pierdut când programul se termină.
Partajarea datelor Partajarea datelor nu este posibilă deoarece datele variabilei locale pot fi accesate printr-o singură funcție. Partajarea datelor este posibilă deoarece mai multe funcții pot accesa aceeași variabilă globală.
Parametrii Transmiterea parametrilor este necesară pentru ca variabilele locale să acceseze valoarea în altă funcție Transmiterea parametrilor nu este necesară pentru o variabilă globală, deoarece este vizibilă pe tot parcursul programului
Modificarea valorii variabile Când valoarea variabilei locale este modificată într-o funcție, modificările nu sunt vizibile în altă funcție. Când valoarea variabilei globale este modificată într-o funcție, modificările sunt vizibile în restul programului.
Accesat de Variabilele locale pot fi accesate cu ajutorul declarațiilor, în interiorul unei funcții în care sunt declarate. Puteți accesa variabile globale prin orice afirmație din program.
Stocare de memorie Este stocat în stivă, dacă nu este specificat. Este stocat într-o locație fixă ​​decisă de compilator.

Avantajele utilizării variabilelor globale

  • Puteți accesa variabila globală din toate funcțiile sau modulele dintr-un program
  • Trebuie să declarați variabila globală o singură dată în afara modulelor.
  • Este ideal utilizat pentru stocarea „constantelor”, deoarece vă ajută să păstrați consistența.
  • O variabilă globală este utilă atunci când mai multe funcții accesează aceleași date.

Avantajele utilizării variabilelor locale

  • Utilizarea variabilelor locale oferă o garanție că valorile variabilelor vor rămâne intacte în timpul executării sarcinii
  • Dacă mai multe sarcini schimbă o singură variabilă care rulează simultan, atunci rezultatul poate fi imprevizibil. Dar declararea acesteia ca variabilă locală rezolvă această problemă, deoarece fiecare sarcină își va crea propria instanță a variabilei locale.
  • Puteți da variabilelor locale același nume în funcții diferite, deoarece acestea sunt recunoscute numai după funcția în care sunt declarate.
  • Variabilele locale sunt șterse de îndată ce orice funcție este terminată și eliberează spațiul de memorie pe care îl ocupă.

Dezavantaje ale utilizării variabilelor globale

  • Prea multe variabile declarate ca globale, atunci ele rămân în memorie până la finalizarea executării programului. Acest lucru poate cauza probleme de memorie.
  • Datele pot fi modificate de orice funcție. Orice afirmație scrisă în program poate modifica valoarea variabilei globale. Acest lucru poate da rezultate imprevizibile în medii cu mai multe sarcini.
  • Dacă variabilele globale sunt întrerupte din cauza refactorizării codului, va trebui să schimbați toate modulele unde sunt numite.

Dezavantaje ale utilizării variabilelor locale

  • Procesul de depanare a unei variabile locale este destul de complicat.
  • Datele comune necesare pentru a trece în mod repetat deoarece partajarea datelor nu este posibilă între module.
  • Au un domeniu foarte limitat.

Ce este mai util?

Variabila locală și globală este la fel de importantă în timp ce scrieți un program în orice limbă. Cu toate acestea, un număr mare din variabila globală poate ocupa o memorie imensă. O schimbare nedorită a variabilelor globale devine dificil de identificat. Prin urmare, este recomandabil să evitați declararea variabilelor globale nedorite.