Razlika med lokalno in globalno spremenljivko

Avtor: Laura McKinney
Datum Ustvarjanja: 1 April 2021
Datum Posodobitve: 15 Maj 2024
Anonim
Paradise or Oblivion
Video.: Paradise or Oblivion

Vsebina


Kot smo že omenili, je spremenljivka ime, dano pomnilniškemu mestu, in ga je treba uporabiti, preden ga uporabite. V C so vse spremenljivke deklarirane na začetku programa. V C ++ lahko spremenljivke kadar koli deklariramo, preden jih uporabimo v navodilih.

Spremenljivke so razvrščene v „lokalno“ in „globalno“ spremenljivko, kar je glavna tema naše razprave. Tu je glavna razlika med lokalno in globalno spremenljivko ta, da je lokalna spremenljivka deklarirana znotraj funkcionalnega bloka. Nasprotno pa je globalna spremenljivka deklarirana zunaj funkcij v programu.

Preučimo še nekaj razlik med lokalno in globalno spremenljivko ter primerjalno tabelo.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Prednosti
  5. Slabosti
  6. Zaključek

Primerjalna tabela:

PODLAGA ZA PRIMERJAVO LOKALNA VARIJALNA GLOBALNA RAZLIČNA
Izjava Spremenljivke so deklarirane znotraj funkcije.
Spremenljivke so deklarirane zunaj katere koli funkcije.
Obseg
Znotraj funkcije, znotraj katere so deklarirani.V celotnem programu.
Vrednost
Neinicializirana lokalna spremenljivka povzroči shranjevanje vrednosti smeti.Neinicializirana globalna spremenljivka privzeto shrani nič.
Dostop Dostop samo z izjavami, znotraj funkcije, v kateri so deklarirani. Dostop do katere koli izjave v celotnem programu.
Skupna raba podatkovNi zagotovljenoOlajšano
ŽivljenjeUstvarjeno, ko je funkcijski blok vnesen in uničen ob izhodu. Ostanite ves čas, ko se program izvaja.
Skladiščenje
Lokalne spremenljivke se shranijo v sveženj, če ni določeno.
Shranjeno na fiksnem mestu, o katerem odloči prevajalnik.
Prehod parametraNujno potrebnoNi potrebno za globalne spremenljivke.
Spremembe spremenljive vrednostiVsaka sprememba, ki se implicira v lokalni spremenljivki, ne vpliva na druge funkcije programa.Spremembe, uporabljene v globalni spremenljivki funkcije, odražajo spremembe v celotnem programu.

Opredelitev lokalne spremenljivke

A lokalna spremenljivka je vedno deklariran znotraj funkcionalnega bloka. V C je lokalna spremenljivka razglašena na začetku bloka kode. V C ++ jih lahko pred uporabo prijavite kjer koli v bloku kode. Do lokalnih spremenljivk lahko dostopate le z izjavami, zapisanimi v funkciji, v kateri so deklarirane lokalne spremenljivke. Varni so v smislu, da do njih ne morejo dostopati nobene druge funkcije istega programa.


Lokalna spremenljivka obstaja, dokler se blok funkcije ne izvaja, in se s tem uniči, ko izvedba zapusti blok. Lokalne spremenljivke izgubijo svojo vsebino takoj, ko izvršitev zapusti blok, v katerem so prijavljeni.

Razlog za to je, da so lokalne spremenljivke shranjene v sveženju, razen če ni določeno njihovo posebno shranjevanje. Sklad je dinamične narave, sprememba lokacije pomnilnika pa vodi do tega, da lokalna spremenljivka ne zadrži svoje vrednosti takoj, ko obstaja blok funkcije.

Opomba:
Vendar pa obstaja način, da obdržite vrednost lokalne spremenljivke z uporabo „statičnega“ modifikatorja.

Opredelitev globalne spremenljivke

A globalna spremenljivka je izjavljen zunaj vseh funkcij v programu. Za razliko od lokalnih spremenljivk lahko dostopate do globalne spremenljivke s katero koli funkcijo v programu. Globalne spremenljivke niso veliko zanesljive, saj lahko njihovo vrednost spreminja katera koli funkcija, prisotna v programu.


Obstajajo, dokler se celoten program ne izvaja v celoti. Globalne spremenljivke ohranijo svoje vrednosti, dokler se program ne izvaja. Razlog je v tem, da so shranjeni v fiksnem območju pomnilnika, o čemer odloči prevajalnik.

Globalna spremenljivka je koristna v primerih, ko več funkcij dostopa do istih podatkov. Uporaba velikega števila globalnih spremenljivk je lahko problematična, saj lahko pride do neželenih sprememb vrednosti globalne spremenljivke.

  1. Lokalne spremenljivke se imenujejo "lokalne", ker so znane samo po izjavah, zapisanih v funkciji, znotraj katere so deklarirane in niso znane nobeni drugi funkciji, ki je zunaj tega funkcijskega bloka. V primeru globalne spremenljivke so znane vsaki funkciji v programu; zato jih imenujemo "globalni".
  2. Globalne spremenljivke ohranijo svojo vrednost, dokler program ni v fazi izvajanja, saj so shranjene na fiksnem mestu, o katerem odloči prevajalnik. Lokalne spremenljivke se shranijo v kup; torej ne ohranijo svoje vrednosti, saj je "sklad" dinamičen, vendar je prevajalnik lahko usmerjen, da ohrani njihovo vrednost s pomočjo "statičnega" modifikatorja.
  3. Če sta globalna in lokalna spremenljivka deklarirana z istim imenom, potem se vsi stavki kodnega bloka, v katerem je deklarirana lokalna spremenljivka, nanašajo samo na lokalno spremenljivko in globalni spremenljivki ne bodo vplivali.
  4. Lokalna spremenljivka se uniči, ko nadzor nad programom izstopi iz bloka, v katerem je deklarirana lokalna spremenljivka. Vendar se globalna spremenljivka uniči, ko se celoten program ukine.

Prednosti

Lokalna spremenljivka

  • Glavna prednost lokalne spremenljivke je, da ni naključnega spreminjanja podatkov. Spremenljivka je navedena v bloku in ta blok kode uporablja spremenljivko in preprečuje neželene stranske učinke.
  • Lokalna spremenljivka porabi pomnilnik za omejeno količino obdobja, samo ko je izveden blok, ki vsebuje spremenljivko.

Globalna spremenljivka

  • Globalne spremenljivke so zelo koristne, če imate v programu več funkcij, ki manipulirajo z istimi podatki.
  • Spremembe, ki jih je treba uporabiti v celotnem programu, bi bile lažje z uvedbo globalne spremenljivke.
  • Dostopamo lahko od kjer koli ali preko katere koli naključne funkcije programa.

Slabosti

Lokalna spremenljivka

  • Obseg lokalne spremenljivke je omejen.
  • Prepoveduje deljenje podatkov.
  • Podatkov med klici ne morejo obdržati, ker se z vsakim vnosom in izhodom iz bloka ustvarijo in odstranijo lokalne spremenljivke. Vendar se lahko za ohranjanje vrednosti uporablja statični modifikator.

Globalna spremenljivka

  • Uporaba velikega števila globalnih spremenljivk lahko povzroči nastanek programskih napak.
  • Glavna težava, ki jo povzroča, je nenamerno pojavljanje sprememb zaradi razširjenih globalnih spremenljivk v celotnem programu.
  • Prav tako bi se lahko pojavila potreba po ponovnem prestrukturiranju kode, kar je zelo obsežen postopek, pri katerem se celotna programska koda prestrukturira.

Zaključek:

Lokalne in globalne spremenljivke so med pisanjem programa potrebne in enako potrebne. Vendar pa bi razglasitev velikega števila globalnih spremenljivk lahko bila težavna v obsežnem programu, saj lahko povzroči neželene spremembe globalne spremenljivke; in težko bi bilo prepoznati, kateri del programa je to spremenil. Zato se je treba izogibati prijavljanju nepotrebnih globalnih spremenljivk.