Skirtumas tarp vietinio ir globalaus kintamojo

Kas yra kintamasis?

Kintamasis yra pavadinimas, priskirtas saugojimo sričiai, kuria programa gali manipuliuoti. Kintamojo tipas nustato kintamojo atminties dydį ir išdėstymą.

Tai taip pat nustato verčių, kurias reikia saugoti toje atmintyje, diapazoną ir operacijų pobūdį, kurias galima pritaikyti šiam kintamajam.

Šioje pamokoje sužinosite

  • Kintamųjų apimtis
  • Vietinio kintamojo apibrėžimas
  • Visuotinio kintamojo apibrėžimas
  • Vietinis kintamasis palyginti su visuotiniais kintamaisiais
  • Visuotinių kintamųjų naudojimo pranašumai
  • Vietinių kintamųjų naudojimo pranašumai
  • Visuotinių kintamųjų naudojimo trūkumai
  • Vietinių kintamųjų naudojimo trūkumai
  • Kas naudingiau?

Kintamųjų apimtis

Kintamojo taikymo sritis yra tiesiog kintamojo gyvavimo laikas. Tai yra kodo blokas, pagal kurį kintamasis yra taikomas arba yra gyvas. Pavyzdžiui:

function foo(){var x;}

Jūs skelbiate kintamąjį „x“ funkcijos „foo“ viduje. To kintamojo sritis lieka toje funkcijoje, jos negalima naudoti už tos funkcijos ribų.

Yra trys vietos, kuriose kintamieji gali deklaruoti kintamą programavimo kalbą:

  • Funkcijos ar bloko viduje: vietiniai kintamieji
  • Už visų funkcijų ribų: visuotiniai kintamieji
  • Funkcijos parametrų apibrėžime: Oficialūs parametrai

PAGRINDINIAI SKIRTUMAI

  • Vietinis kintamasis yra deklaruojamas funkcijos viduje, o visuotinis - ne funkcijos.
  • Vietiniai kintamieji sukuriami, kai funkcija pradedama vykdyti, ir prarandama, kai funkcija baigiasi, kita vertus, visuotinis kintamasis sukuriamas pradėjus vykdyti ir prarandamas, kai programa baigiasi.
  • Vietinis kintamasis neteikia duomenų dalijimosi, o visuotinis kintamasis - duomenų bendrinimo.
  • Vietiniai kintamieji saugomi rietuvėje, o visuotiniai kintamieji - fiksuotoje vietoje, kurią nusprendžia kompiliatorius.
  • Parametrų perdavimas reikalingas vietiniams kintamiesiems, o visuotiniams kintamiesiems - nebūtina

Vietinis kintamasis

Vietinis kintamasis apibrėžiamas kaip kintamojo tipas, deklaruojamas programavimo bloke ar paprogramėse. Jį galima naudoti tik toje paprogramėje arba kodo bloke, kuriame jis deklaruotas. Vietinis kintamasis egzistuoja tol, kol bus vykdomas funkcijos blokas. Po to jis bus sunaikintas automatiškai.

Vietinio kintamojo pavyzdys

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

Čia „a“ ir „b“ yra vietiniai kintamieji

Visuotinis kintamasis

Pasaulinis Kintamojo programoje yra kintamasis apibrėžiamas ne paprogramės ar funkcijos. Jo taikymo sritis yra pasaulinė, o tai reiškia, kad jis išlaiko savo vertę visą programos laikotarpį. Taigi, ją galima pasiekti visoje programoje bet kuria programoje apibrėžta funkcija, nebent ji yra šešėliai.

Pavyzdys:

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

Čia „a“ ir „b“ yra visuotiniai kintamieji.

Vietinis kintamasis vs. Visuotiniai kintamieji

Štai keletas esminių skirtumų tarp vietinių ir pasaulinių kintamųjų.

Parametras Vietinis Visuotinis
Taikymo sritis Tai deklaruojama funkcijos viduje. Jis paskelbtas už funkcijos ribų.
Vertė Jei jis nėra inicializuotas, šiukšlių vertė yra saugoma Jei jis nėra inicializuotas, nulis įrašomas kaip numatytasis.
Gyvenimas Jis sukuriamas, kai funkcija pradeda vykdyti, ir prarandama, kai funkcijos baigiasi. Jis sukurtas prieš pradedant visuotinį programos vykdymą ir prarandamas, kai programa baigiasi.
Dalijimasis duomenimis Duomenimis dalytis negalima, nes prie vietinio kintamojo duomenų galima pasiekti tik viena funkcija. Dalytis duomenimis galima, nes kelios funkcijos gali pasiekti tą patį visuotinį kintamąjį.
Parametrai Kad vietiniai kintamieji galėtų pasiekti kitos funkcijos reikšmę, reikalingi parametrai Parametrų perdavimas nėra būtinas visuotiniam kintamajam, nes jis matomas visoje programoje
Kintamosios vertės modifikavimas Pakeitus vietinio kintamojo vertę vienoje funkcijoje, kitoje funkcijoje pokyčiai nematomi. Pakeitus globalaus kintamojo vertę vienoje funkcijoje, pakeitimai matomi likusioje programos dalyje.
Prieiga Lokaliuosius kintamuosius galima pasiekti sakinių pagalba funkcijoje, kurioje jie deklaruoti. Visuotinius kintamuosius galite pasiekti bet kuriuo programos sakiniu.
Atminties saugojimas Jis saugomas rietuvėje, jei nenurodyta. Jis saugomas fiksuotoje vietoje, kurią nusprendžia kompiliatorius.

Visuotinių kintamųjų naudojimo pranašumai

  • Visuotinį kintamąjį galite pasiekti iš visų programos funkcijų ar modulių
  • Jums tereikia deklaruoti globalų kintamąjį vieną kartą už modulių ribų.
  • Jis idealiai naudojamas „konstantoms“ laikyti, nes padeda išlaikyti konsistenciją.
  • Visuotinis kintamasis yra naudingas, kai kelios funkcijos pasiekia tuos pačius duomenis.

Vietinių kintamųjų naudojimo pranašumai

  • Vietinių kintamųjų naudojimas garantuoja, kad kintamųjų reikšmės išliks nepažeistos, kol vykdoma užduotis
  • Jei kelios užduotys pakeičia vieną vienu metu veikiantį kintamąjį, rezultatas gali būti nenuspėjamas. Bet paskelbus jį vietiniu kintamuoju, ši problema išspręsta, nes kiekviena užduotis sukurs savo vietinio kintamojo egzempliorių.
  • Vietiniams kintamiesiems galite suteikti tą patį pavadinimą skirtingose ​​funkcijose, nes juos atpažįsta tik funkcija, kurioje jie deklaruoti.
  • Vietiniai kintamieji ištrinami, kai tik pasibaigia kuri nors funkcija, ir atleidžia atminties vietą, kurią ji užima.

Visuotinių kintamųjų naudojimo trūkumai

  • Per daug kintamųjų, paskelbtų visuotiniais, jie lieka atmintyje, kol baigsis programos vykdymas. Tai gali sukelti atminties trūkumo problemą.
  • Duomenis galima modifikuoti bet kuria funkcija. Bet kuris programoje parašytas teiginys gali pakeisti visuotinio kintamojo vertę. Tai gali duoti nenuspėjamus rezultatus daugelio užduočių aplinkose.
  • Jei visuotiniai kintamieji bus nutraukti dėl kodo pertvarkymo, turėsite pakeisti visus modulius, kur jie vadinami.

Vietinių kintamųjų naudojimo trūkumai

  • Vietinio kintamojo derinimo procesas yra gana keblus.
  • Reikalingi bendri duomenys, kuriuos reikia perduoti pakartotinai, nes moduliais negalima dalytis duomenimis.
  • Jų taikymo sritis yra labai ribota.

Kas naudingiau?

Vietinis ir pasaulinis kintamasis yra vienodai svarbūs rašant programą bet kuria kalba. Tačiau didelis visuotinio kintamojo skaičius gali užimti didžiulę atmintį. Nepageidaujamą pasaulinių kintamųjų pokytį tampa sunku nustatyti. Todėl patartina vengti nepageidaujamų visuotinių kintamųjų deklaravimo.

Įdomios straipsniai...