Ero paikallisen ja globaalin muuttujan välillä

Kirjoittaja: Laura McKinney
Luomispäivä: 1 Huhtikuu 2021
Päivityspäivä: 13 Saattaa 2024
Anonim
Ero paikallisen ja globaalin muuttujan välillä - Tekniikka
Ero paikallisen ja globaalin muuttujan välillä - Tekniikka

Sisältö


Kuten aiemmin keskustelimme, muuttuja on nimi, joka annetaan muistipaikalle, ja se on ilmoitettava ennen käyttöä. Kohdassa C kaikki muuttujat ilmoitetaan ohjelman alkaessa. C ++: ssa muuttujat voidaan ilmoittaa milloin tahansa, ennen kuin niitä käytetään ohjeissa.

Muuttujat luokitellaan paikallisiin ja globaaleihin muuttujiin, mikä on keskustelun pääaihe. Tärkein ero paikallisen ja globaalin muuttujan välillä on, että paikallinen muuttuja julistetaan toimintolohkon sisällä. Sitä vastoin globaali muuttuja julistetaan ohjelman toimintojen ulkopuolelle.

Tutkitaan vielä joitain eroja paikallisen ja globaalin muuttujan välillä vertailukaavion kanssa.

  1. Vertailutaulukko
  2. Määritelmä
  3. Keskeiset erot
  4. edut
  5. haitat
  6. johtopäätös

Vertailutaulukko:

VERTAILUN PERUSTEET PAIKALLINEN VAIHTOEHTO MAAILMANLAAJUINEN MUUTTUMINEN
ilmoitus Muuttujat ilmoitetaan funktion sisällä.
Muuttujat ilmoitetaan minkä tahansa funktion ulkopuolella.
laajuus
Toiminnossa, jonka sisällä ne julistetaan.Koko ohjelman ajan.
Arvo
Alustamaton paikallinen muuttuja johtaa roskien arvon tallentamiseen.Alustamaton globaali muuttuja tallentaa oletuksena nollan.
Pääsy Pääsee vain lauseilla toiminnon sisällä, jossa ne julistetaan. Minkä tahansa ohjelman koko lauseen avulla.
Tietojen jakaminenEi sisällyhelpottavan
elämäLuotu, kun toimintolohko syötetään ja tuhotaan poistuttua. Ole olemassa koko ohjelman ajan.
varastointi
Paikalliset muuttujat tallennetaan pinoon, ellei niitä ole määritetty.
Tallennetaan kääntäjän päättämään kiinteään kohtaan.
Parametri kulkeePakollisesti vaaditaanEi vaadita globaaleilta muuttujilta.
Muuttujan arvon muutoksetPaikallisiin muuttujiin viittaavat muutokset eivät vaikuta ohjelman muihin toimintoihin.Funktion globaalissa muuttujassa sovelletut muutokset heijastavat muutoksia koko ohjelmassa.

Määritelmä Paikallinen muuttuja

paikallinen muuttuja on aina ilmoitettu toimintolohkossa. C: ssä paikallinen muuttuja ilmoitetaan koodilohkon alussa. C ++: ssa ne voidaan julistaa mihin tahansa koodilohkoon ennen niiden käyttöä. Paikallisiin muuttujiin pääsee vain toiminnon sisällä kirjoitetuilla lauseilla, joissa paikalliset muuttujat on ilmoitettu. Ne ovat turvassa siinä mielessä, että he eivät pääse minkään muun saman ohjelman toiminnon avulla.


Paikallinen muuttuja on olemassa, kunnes funktion lohko on suorittamassa, ja se tuhotaan siten, kun suoritus poistuu lohkosta. Paikalliset muuttujat menettävät sisällön heti, kun suorittaminen poistui lohkosta, jossa ne julistetaan.

Syynä tähän on, että paikalliset muuttujat tallennetaan pinoon, ellei niiden erityistä tallennustilaa ole määritetty. Pino on luonteeltaan dynaaminen, ja muistin sijainnin muutos johtaa siihen, miksi paikallinen muuttuja ei pidä arvoaan heti, kun toiminnon lohko on olemassa.

merkintä:
Paikallisen muuttujan arvo voidaan kuitenkin säilyttää käyttämällä 'staattista' muokkainta.

Määritelmä Globaali muuttuja

globaali muuttuja ilmoitetaan kaikkien ohjelmassa olevien toimintojen ulkopuolella. Toisin kuin paikalliset muuttujat, globaaliin muuttujaan pääsee millä tahansa ohjelmassa olevalla toiminnolla. Globaalit muuttujat eivät ole kovin luotettavia, koska niiden arvoa voidaan muuttaa millä tahansa ohjelmassa olevalla toiminnolla.


Ne ovat olemassa, kunnes koko ohjelma suoritetaan kokonaan. Globaalit muuttujat säilyttävät arvonsa, kunnes ohjelma on suorittamassa. Syynä on, että ne tallennetaan kiinteälle muistialueelle, päätöksen kääntäjä päättää.

Globaali muuttuja on hyödyllinen tilanteissa, joissa useita toimintoja käyttää samoja tietoja. Suuren määrän globaalien muuttujien käyttäminen voi olla ongelmallista, koska globaalin muuttujan arvoon voi tulla ei-toivottuja muutoksia.

  1. Paikallisia muuttujia kutsutaan 'paikallisiksi', koska ne tunnetaan vain lauseissa, jotka on kirjoitettu funktiossa, jonka sisällä ne on ilmoitettu, eikä niitä tunneta muulle toiminnolle, joka on kyseisen toimintolohkon ulkopuolella. Globaalin muuttujan tapauksessa ne tunnetaan jokaiselle ohjelmassa olevalle toiminnolle; siksi niitä kutsutaan 'globaaleiksi'.
  2. Globaalit muuttujat säilyttävät arvonsa, kunnes ohjelma on suoritusvaiheessa, koska ne tallennetaan kääntäjän päättämään kiinteään kohtaan. Paikalliset muuttujat tallennetaan pinoon; näin ollen ne eivät säilytä arvoaan, koska 'pino' on luonteeltaan dynaaminen, mutta kääntäjää voidaan ohjata säilyttämään arvo arvonsa avulla 'staattinen' muokkain.
  3. Jos globaali ja paikallinen muuttuja julistetaan samalla nimellä, niin kaikki koodilohkon lauseet, joissa paikalliset muuttujat on ilmoitettu, viittaavat vain paikallisiin muuttujiin eivätkä aiheuta vaikutusta globaaliin muuttujaan.
  4. Paikallinen muuttuja tuhoutuu, kun ohjelman ohjaus poistuu lohkosta, jossa paikallinen muuttuja on ilmoitettu. Globaali muuttuja kuitenkin tuhoutuu, kun koko ohjelma lopetetaan.

edut

Paikallinen muuttuja

  • Paikallisen muuttujan tärkein etu on, että tietoja ei vahingossa muuteta. Muuttuja ilmoitetaan lohkon sisällä, ja nämä koodilohot käyttävät muuttujaa ja välttävät ei-toivottuja sivuvaikutuksia.
  • Paikallinen muuttuja kuluttaa muistia rajoitetun ajanjakson ajan vain, kun muuttujan sisältävä lohko suoritetaan.

Globaali muuttuja

  • Globaalit muuttujat ovat erittäin hyödyllisiä, kun käsittelet useita ohjelman toimintoja manipuloimalla samaa dataa.
  • Koko ohjelmassa sovellettavat muutokset olisivat helpompia toteuttamalla globaali muuttuja.
  • Meillä on pääsy mistä tahansa tai minkä tahansa ohjelman satunnaisen toiminnan kautta.

haitat

Paikallinen muuttuja

  • Paikallisen muuttujan laajuus on rajoitettu.
  • Kieltää tietojen jakamisen.
  • He eivät pysty säilyttämään dataa puhelujen välillä, koska paikalliset muuttujat luodaan ja poistetaan jokaisen sisääntulon ja poistumisen yhteydessä lohkosta. Staattista muunnosta voidaan kuitenkin käyttää arvojen säilyttämiseen.

Globaali muuttuja

  • Suuren määrän globaalien muuttujien käyttö voi johtaa ohjelmavirheiden syntymiseen.
  • Suurin ongelma, jonka se aiheuttaa, on muutosten tahaton esiintyminen, jotka johtuvat koko ohjelman leviävistä globaaleista muuttujista.
  • Se voi myös kasvattaa tarvetta suorittaa koodin uudelleenkehittäminen, mikä on erittäin laaja prosessi, jossa koko ohjelmakoodi järjestetään uudelleen.

johtopäätös:

Paikalliset ja globaalit muuttujat ovat välttämättömiä ja yhtä lailla vaadittavat ohjelmaa kirjoitettaessa. Kuitenkin suuren määrän globaalien muuttujien ilmoittaminen voi olla ongelmallista massiivisessa ohjelmassa, koska se voi aiheuttaa ei-toivottuja muutoksia globaaliin muuttujaan; ja olisi vaikea tunnistaa sitä, mikä ohjelman osa teki muutoksen. Siksi on vältettävä tarpeettomien globaalien muuttujien julistamista.