Premenné v akomkoľvek programovacom jazyku zohrávajú kľúčovú úlohu. Premenné sú klasifikované na globálne premenné a lokálne premenné na základe ich rozsahu. Hlavný rozdiel medzi globálnymi a lokálnymi premennými je v tom, že ku globálnym premenným je možné pristupovať globálne v celom programe, zatiaľ čo k lokálnym premenným je možné pristupovať iba v rámci funkcie alebo bloku, v ktorom sú definované. V tejto téme najprv pochopíme, čo sú premenné a rozsah, spolu s lokálnymi premennými, globálnymi premennými a potom rozdiely medzi oboma premennými.
Čo je to premenná?
Premenná je názov daný pamäťovému miestu na ukladanie hodnôt v počítačovom programe. Používa sa na ukladanie informácií, na ktoré možno v programe odkazovať a manipulovať s nimi.
Názov premennej si môžeme zvoliť ľubovoľný, ale musí sa riadiť sémantikou programovania. Taká, aká môže byť , a, b, x, y, z, sub, div, total, avg, atď .
Povedzme, že existujú dve hodnoty, 10 a 20, ktoré chceme uložiť a použiť v našom programe. Na to musíme použiť premennú a urobíme nasledujúce kroky:
- Najprv vytvoríme alebo deklarujeme premennú s vhodným názvom.
- Priraďte tieto hodnoty k premenným, aby ste ich uložili.
- Keď sú tieto hodnoty uložené, môžeme tieto premenné použiť s ich názvom v našom programe.
Ako môžeme vidieť na obrázku vyššie, existujú dva pamäťové sloty, 001 a 002, a tieto miesta sme pomenovali ako A a B. A obsahuje 10 a B obsahuje 20.
význam dhl
Rôzne programovacie jazyky majú rôzne spôsoby, ako deklarovať premennú. Napríklad v jazyku C môžeme premennú deklarovať nasledujúcim spôsobom:
Syntax: (syntax deklarácie premennej v jazyku C)
1 z 1000
datatype v1, v2, v3,....;
Príklad:
#include void main(){ int a; int b; int sum; }
Rozsah premennej
Každá premenná je definovaná a môže byť použitá v rámci svojho rozsahu a určuje, v ktorom programe je táto premenná dostupná na použitie. Rozsah znamená životnosť tejto premennej. Znamená to, že premenná je prístupná alebo viditeľná iba v rámci jej rozsahu.
Rozsah premenných je možné definovať ich deklaráciou a premenné sa deklarujú hlavne dvoma spôsobmi:
Čo je to globálna premenná?
- Globálne premenné sú tie premenné, ktoré sú deklarované mimo všetkých funkcií alebo blokov a je možné k nim v programe pristupovať globálne.
- Dá sa k nemu dostať akoukoľvek funkciou prítomnou v programe.
- Keď deklarujeme globálnu premennú, jej hodnota sa môže meniť tak, ako sa používa s rôznymi funkciami.
- Životnosť globálnej premennej existuje, kým sa program nespustí. Tieto premenné sú uložené na pevných pamäťových miestach zadaných kompilátorom a automaticky sa nevyčistia.
- Globálne premenné sa väčšinou používajú pri programovaní a sú užitočné v prípadoch, keď všetky funkcie potrebujú prístup k rovnakým údajom.
Príklad:
#include int a=50, b=40; void main() { printf('a = %d and b=%d',a,b); }
Vo vyššie uvedenom príklade sú a a b globálne premenné.
Výhody globálnej premennej
- Ku globálnym premenným majú prístup všetky funkcie prítomné v programe.
- Vyžaduje sa iba jedno vyhlásenie.
- Veľmi užitočné, ak všetky funkcie pristupujú k rovnakým údajom.
Nevýhody globálnej premennej
- Hodnota globálnej premennej sa môže náhodne zmeniť, pretože ju môže použiť akákoľvek funkcia v programe.
- Ak použijeme veľké množstvo globálnych premenných, potom je veľká šanca na generovanie chýb v programe.
Čo je to lokálna premenná?
- K týmto premenným je možné pristupovať iba v rámci funkcie, v ktorej sú deklarované.
- Životnosť lokálnej premennej je len v rámci jej funkcie, čo znamená, že premenná existuje, kým sa funkcia nevykoná. Po dokončení vykonávania funkcie sa lokálne premenné zničia a už neexistujú mimo funkcie.
- Dôvodom obmedzeného rozsahu lokálnych premenných je, že lokálne premenné sú uložené v zásobníku, ktorý má dynamický charakter a automaticky čistí dáta v ňom uložené.
- Ale nastavením premennej na statickú s kľúčovým slovom 'statický' môžeme zachovať hodnotu lokálnej premennej.
Príklad:
#include void main() { int x=50, y=40; printf('x = %d and y=%d',x, y); }
Vo vyššie uvedenom príklade sme deklarovali x a y dve premenné vnútri hlavnej funkcie. Ide teda o lokálne premenné.
Výhody lokálnej premennej
- Rovnaký názov lokálnej premennej možno použiť v rôznych funkciách, pretože ho rozpoznáva iba funkcia, v ktorej je deklarovaná.
- Lokálne premenné využívajú pamäť iba na obmedzený čas, kedy je funkcia vykonaná; potom je možné znova použiť to isté miesto v pamäti.
Nevýhody lokálnych premenných
- Rozsah lokálnej premennej je obmedzený len na jej funkciu a nemôžu byť použité inými funkciami.
- Zdieľanie údajov lokálnou premennou nie je povolené.
Porovnávacia tabuľka medzi globálnou premennou a lokálnou premennou
Globálna premenná | Miestna premenná |
---|---|
Globálne premenné sú deklarované mimo všetkých funkčných blokov. | Lokálne premenné sú deklarované v rámci funkčného bloku. |
Rozsah zostáva počas celého programu. | Rozsah je obmedzený a zostáva iba v rámci funkcie, v ktorej sú deklarované. |
Akákoľvek zmena globálnej premennej ovplyvňuje celý program bez ohľadu na to, kde sa používa. | Akákoľvek zmena v lokálnej premennej neovplyvní ostatné funkcie programu. |
Globálna premenná existuje v programe po celú dobu vykonávania programu. | Lokálna premenná sa vytvorí pri spustení funkcie a po dokončení vykonávania sa premenná zničí. |
Je prístupný v rámci programu všetkými funkciami prítomnými v programe. | Prístup k nemu môžu mať iba príkazy funkcií, v ktorých je deklarovaný, a nie iné funkcie. |
Ak globálna premenná nie je inicializovaná, v predvolenom nastavení trvá nulu. | Ak lokálna premenná nie je inicializovaná, v predvolenom nastavení prevezme hodnotu odpadu. |
Globálne premenné sú uložené v dátovom segmente pamäte. | Lokálne premenné sú uložené v zásobníku v pamäti. |
Nemôžeme deklarovať veľa premenných s rovnakým názvom. | Môžeme deklarovať rôzne premenné s rovnakým názvom, ale v iných funkciách. |
Príklady na pochopenie rozdielov medzi lokálnou a globálnou premennou
Teraz pochopme príklady v rôznych programovacích jazykoch, aby sme lepšie pochopili rozdiel medzi lokálnymi a globálnymi premennými.
filtrovanie pythonu
Miestne verzus globálne v C
Príklad-1:
#include // Global variables int a; int b; int Add() { return a + b; } int Mul() { int c=10; //Local Variable int d=20; ////Local Variable return c*d; } void main() { int Ans1, Ans2, c=30;// Local variable a = 50; b = 70; Ans1 = Add(); Ans2= Mul(); printf('The addition result is: %d ',Ans1); printf('The Multiplication result is: %d ',Ans2); printf('%d ', c); }
Výkon:
vložiť mysql do
The addition result is: 120 The Multiplication result is: 200 30
Ako môžeme vidieť vo vyššie uvedenom programe, vzali sme a a b globálne premenné, ku ktorým sa pristupuje v rôznych funkciách, ako napríklad Add() a main(). Zatiaľ čo existujú aj lokálne premenné ako c, d, Ans1 a Ans2, ku ktorým majú prístup len tie funkcie, v ktorých sú deklarované.
Ak sa pokúsime použiť premenné c a d mimo funkcie Mul(), budú použité ako nové premenné. Ako sme ukázali, ak vezmeme c aj do funkcie main(), považuje sa za novú premennú.
Miestne vs. Globálne v Pythone
Príklad-1:
v1 = 'Hey, I am Global Variable!, I can be used everywhere in the program.' #globalvariable def func1(): v2='Hey, I am Local Variable!, I can be used within this block only in the program.' #localvariable print(v2) func1() #calling func1 def func2(): print(v1) func2() #callin func2
Výkon:
Hey, I am a Local Variable!, I can be used within this block only in the program. Hey, I am Global Variable!, I can be used everywhere in the program.
Vo vyššie uvedenom programe sme vzali jednu globálnu premennú v1 a jednu lokálnu premennú v2. Keďže v1 je globálna, dá sa k nej ľahko pristupovať v akejkoľvek funkcii a v2 je lokálna; používa sa iba v rámci svojej deklarovanej funkcie. Ak sa však pokúsime použiť v1 vo funkcii func1, zobrazí sa chyba. Pozrime sa na príklad nižšie:
Príklad-2
v1 = 'Hey, I am Global Variable!, I can be used everywhere in the program.' #globalvariable def func1(): v2='Hey, I am Local Variable!, I can be used within this block only in the program.' #localvariable print(v2) print(v1) func1() #calling func1 def func2(): print(v1) print(v2) func2() #callin func2
Ak sa pokúsime získať prístup k verzii 1, dá sa ľahko dostať do fun1 a func2. Ak sa však pokúsime o prístup k v2 mimo jej funkcie, čo znamená vo funkcii 2, zobrazí chybu behu. Po vykonaní vyššie uvedeného kódu dostaneme nasledujúci výstup:
Chyba spustenia:
jvm
NameError: global name 'v2' is not defined
Výkon:
Hey, I am Local Variable!, I can be used within this block only in the program. Hey, I am Global Variable!, I can be used everywhere in the program. Hey, I am Global Variable!, I can be used everywhere in the program.
Miestne vs. Globálna premenná v jazyku Java
V Jave neexistuje koncept globálnych premenných; keďže Java je objektovo orientovaný programovací jazyk, všetko je súčasťou triedy. Ak však chceme premennú sprístupniť globálne, môžeme ju urobiť statickou pomocou a statické Kľúčové slovo.
class Demo { // static variable static int a = 10; // non-static or local variable int b = 20; } public class Main { public static void main(String[] args) { Demo obj = new Demo(); // accessing the non-static variable System.out.println('Value of non-static variable is: ' + (obj.b)); // accessing the static variable System.out.println('Value of static variable is:' + (Demo.a)); } }
Výkon:
Value of non-static variable is: 20 Value of static variable is:10
Vo vyššie uvedenom programe sme použili jednu lokálnu premennú alebo nestatickú premennú a jednu statickú premennú. K lokálnej premennej je možné pristupovať pomocou objektu triedy Demo, zatiaľ čo k statickej premennej je možné pristupovať pomocou názvu triedy.