Pagkakaiba sa pagitan ng Lokal at Pandaigdigang Pagbabago

May -Akda: Laura McKinney
Petsa Ng Paglikha: 1 Abril 2021
I -Update Ang Petsa: 10 Mayo 2024
Anonim
WHY I STILL LIVE IN MEXICO (4 YEARS LATER)
Video.: WHY I STILL LIVE IN MEXICO (4 YEARS LATER)

Nilalaman


Tulad ng napag-usapan namin kanina, ang isang variable ay isang pangalan, na ibinigay sa isang lokasyon ng memorya, at dapat itong ipahayag bago ito magamit. Sa C, ang lahat ng mga variable ay idineklara sa simula ng programa. Sa C ++, maaaring ihayag ang mga variable, sa anumang oras, bago sila magamit sa mga tagubilin.

Ang mga variable ay naiuri sa variable na 'lokal' at 'global', na siyang pangunahing paksa ng aming talakayan. Narito ang pangunahing pagkakaiba sa pagitan ng lokal at pandaigdigang variable ay ang isang lokal na variable ay idineklara sa loob ng isang bloke ng function. Sa kaibahan, ang pandaigdigang variable ay idineklara sa labas ng mga pag-andar sa programa.

Pag-aralan natin ang higit pang mga pagkakaiba sa pagitan ng isang lokal at isang pandaigdigang variable kasama ang isang tsart sa paghahambing.

  1. Tsart ng paghahambing
  2. Kahulugan
  3. Pangunahing Pagkakaiba
  4. Mga kalamangan
  5. Mga Kakulangan
  6. Konklusyon

Tsart ng paghahambing:

BASIS PARA SA COMPARISON LOKAL NA VARIABLE GLOBAL VARIABLE
Deklarasyon Ang mga variable ay idineklara sa loob ng isang function.
Ang mga variable ay idineklara sa labas ng anumang pag-andar.
Saklaw
Sa loob ng isang function, sa loob kung saan sila ay idineklara.Sa buong programa.
Halaga
Ang hindi nai-localize na variable na nagreresulta sa pag-iimbak ng halaga ng basura.Uninitialized global variable na tindahan ng zero sa pamamagitan ng default.
Pag-access Na-access lamang sa pamamagitan ng mga pahayag, sa loob ng isang function na kung saan sila ay idineklara. Nasuri ng anumang pahayag sa buong programa.
Pagbabahagi ng dataHindi ibinigayPinadali
BuhayNilikha kapag ang function block ay ipinasok at nawasak sa paglabas. Manatili sa pagkakaroon para sa buong oras na ang iyong programa ay nagpapatupad.
Imbakan
Ang mga lokal na variable ay naka-imbak sa salansan maliban kung tinukoy.
Nakatago sa isang nakapirming lokasyon na napagpasyahan ng isang tagatala.
Pagpapasa ng ParameterKinakailangan na kinakailanganHindi kinakailangan para sa mga pandaigdigang variable.
Ang mga pagbabago sa isang variable na halagaAng anumang pagbabago na ipinahiwatig sa isang lokal na variable ay hindi nakakaapekto sa iba pang mga pag-andar ng programa.Ang mga pagbabagong inilapat sa pandaigdigang variable ng isang function ay sumasalamin sa mga pagbabago sa buong programa.

Kahulugan ng Lokal na variable

A lokal na variable ay palaging ipinahayag sa loob ng isang bloke ng function. Sa C, ang isang lokal na variable ay idineklara sa simula ng isang code block. Sa C ++, maaari silang ideklara kahit saan sa code block bago ang kanilang paggamit. Maaaring mai-access lamang ang mga lokal na variable sa pamamagitan ng mga pahayag na nakasulat sa loob ng isang function na kung saan ipinahayag ang mga lokal na variable. Ang mga ito ay ligtas sa isang kahulugan na, hindi nila mai-access ng anumang iba pang pag-andar ng parehong programa.


Ang lokal na variable ay umiiral hanggang ang bloke ng pag-andar ay sa pagpapatupad, at sa gayon ay nawasak matapos ang paglabas sa exit ng bloke. Ang mga lokal na variable ay nawawala ang kanilang nilalaman sa sandaling naiwan ang pagpapatupad ng bloke kung saan idineklara sila.

Ang dahilan sa likod nito ay ang mga lokal na variable ay naka-imbak sa salansan maliban kung ang kanilang espesyal na imbakan ay tinukoy. Ang stack ay pabago-bago sa likas na katangian, at ang pagbabago sa lokasyon ng memorya ay humahantong sa dahilan kung bakit hindi gaganapin ng lokal na variable ang kanilang halaga sa sandaling umiiral ang bloke ng isang function.

Tandaan:
Gayunpaman, mayroong isang paraan upang mapanatili ang halaga ng isang lokal na variable sa pamamagitan ng paggamit ng 'static' modifier.

Kahulugan ng Global variable

A global variable ipinahayag sa labas ng lahat ng mga pagpapaandar na naroroon sa isang programa. Hindi tulad ng mga lokal na variable, ang global variable ay maaaring ma-access ng anumang function na naroroon sa isang programa. Ang mga variable na pandaigdigan ay hindi gaanong maaasahan dahil ang kanilang halaga ay maaaring mabago ng anumang function na naroroon sa programa.


Nanatili silang umiiral hanggang sa ganap na maisakatuparan ang buong programa. Ang mga variable ng mundo ay nagpapanatili ng kanilang mga halaga hanggang sa pagpapatupad ng programa. Ang dahilan ay ang mga ito ay naka-imbak sa isang nakapirming rehiyon ng memorya, napagpasyahan ng tagatala.

Ang isang Global variable ay kapaki-pakinabang sa mga sitwasyon kung saan maraming mga pag-andar ang naka-access sa parehong data. Ang paggamit ng isang malaking bilang ng mga pandaigdigang variable ay maaaring may problema, dahil maaaring hindi kanais-nais na mga pagbabago sa halaga ng isang pandaigdigang variable.

  1. Ang Lokal na variable ay tinawag na 'lokal' sapagkat kilala lamang ito sa mga pahayag na nakasulat sa isang function sa loob kung saan sila ay idineklara at hindi kilala sa anumang iba pang mga function na nasa labas ng function block. Sa kaso ng isang pandaigdigang variable, ang mga ito ay kilala sa bawat isa sa bawat pag-andar na nasa isang programa; samakatuwid, tinawag silang 'global'.
  2. Ang mga variable ng mundo ay nagpapanatili ng kanilang halaga hanggang sa ang programa ay nasa yugto ng pagpapatupad, dahil sila ay nakaimbak sa isang nakapirming lokasyon na napagpasyahan ng tagatala. Ang mga lokal na variable ay naka-imbak sa salansan; samakatuwid, hindi nila napananatili ang kanilang halaga dahil ang 'stack' ay pabago-bago sa likas na katangian, ngunit ang tagatala ay maaaring ituro upang mapanatili ang kanilang halaga, sa pamamagitan ng paggamit ng 'static' modifier.
  3. Kung ang isang pandaigdigan at isang lokal na variable ay ipinahayag na may parehong pangalan noon, lahat ng mga pahayag ng isang code block kung saan ipinahayag ang lokal na variable ay tumutukoy lamang sa isang lokal na variable at hindi magiging sanhi ng epekto sa isang pandaigdigang variable.
  4. Ang isang lokal na variable ay nawasak kapag ang kontrol ng programa sa labas ng bloke kung saan ipinahayag ang lokal na variable. Gayunpaman, ang isang pandaigdigang variable ay nawasak kapag natapos ang buong programa.

Mga kalamangan

Lokal na variable

  • Ang pangunahing pakinabang ng isang lokal na variable ay na walang aksidenteng pagbabago ng data. Ang variable ay idineklara sa loob ng isang bloke, at ang mga bloke ng code na ito ay gumagamit ng variable at maiwasan ang hindi kanais-nais na mga epekto.
  • Kinokonsumo ng lokal na variable ang memorya para sa isang limitadong halaga ng panahon, kapag ang bloke na naglalaman ng variable ay naisakatuparan.

Global variable

  • Ang mga variable ng mundo ay kapaki-pakinabang kapag nakikipag-ugnayan ka sa ilang mga pag-andar sa programa na manipulahin ang parehong data.
  • Ang mga pagbabago na kailangang mailapat sa buong programa ay magiging mas madali sa pamamagitan ng pagpapatupad ng isang global variable.
  • Maaari naming mai-access mula sa kahit saan o sa pamamagitan ng anumang random na pag-andar ng programa.

Mga Kakulangan

Lokal na variable

  • Ang saklaw ng lokal na variable ay pinaghihigpitan.
  • Ipinagbabawal ang pagbabahagi ng data.
  • Hindi nila magagawang mapanatili ang data sa pagitan ng mga tawag dahil ang mga lokal na variable ay nabuo at tinanggal sa bawat pagpasok at paglabas mula sa block. Gayunpaman, ang static modifier ay maaaring magamit upang mapanatili ang mga halaga.

Global variable

  • Ang paggamit ng isang malaking bilang ng mga global variable ay maaaring magresulta sa henerasyon ng mga error sa programa.
  • Ang pangunahing problema na sanhi nito ay ang hindi sinasadyang paglitaw ng mga pagbabago dahil sa nakakalat na mga variable ng mundo sa buong programa.
  • Maaari ding tumaas ang pangangailangan upang magsagawa ng code refactoring, na kung saan ay isang napaka malawak na proseso kung saan ang buong programa ng programa ay naayos muli.

Konklusyon:

Ang lokal at pandaigdigang variable pareho ay kinakailangan at pantay na kinakailangan habang sinusulat ang programa. Gayunpaman, ang pagdeklara ng isang malaking bilang ng mga pandaigdigang variable ay maaaring may problema sa isang napakalaking programa, dahil maaaring magdulot ito ng mga hindi kanais-nais na pagbabago sa isang pandaigdigang variable; at magiging mahirap matukoy kung aling bahagi ng isang programa ang gumawa ng pagbabagong iyon. Samakatuwid, dapat iwasan ng isang tao ang pagdeklara ng mga hindi kinakailangang global variable.