Variabler i et hvilket som helst programmeringsspråk har en avgjørende rolle. Variabler klassifiseres i globale variabler og lokale variabler basert på deres omfang. Hovedforskjellen mellom globale og lokale variabler er at globale variabler kan nås globalt i hele programmet, mens lokale variabler kun kan nås innenfor funksjonen eller blokken de er definert i. I dette emnet vil vi først forstå hva som er variablene og omfanget, sammen med lokale variabler, globale variabler og deretter forskjeller mellom begge variablene.
metode overbelastning
Hva er en variabel?
En variabel er et navn gitt til en minneplassering for å lagre verdier i et dataprogram. Den brukes til å lagre informasjon som kan refereres til og manipuleres i et program.
Vi kan velge hvilket som helst navn for variabelen, men den må følge programmeringssemantikken. Slik det kan være , a, b, x, y, z, sub, div, totalt, gjennomsnitt osv .
La oss si at det er to verdier, 10 og 20, som vi ønsker å lagre og bruke i programmet vårt. For dette må vi bruke en variabel, og vi vil gjøre trinnene nedenfor:
- Først vil vi opprette eller deklarere en variabel med et passende navn.
- Tilordne disse verdiene til variablene for å lagre dem.
- Når disse verdiene er lagre, kan vi bruke disse variablene med navnet i programmet vårt.
Som vi kan se i bildet ovenfor, er det to minnespor, 001 og 002, og vi har gitt navn til disse stedene som A og B. A inneholder 10, og B inneholder 20.
Ulike programmeringsspråk har forskjellige måter å deklarere variabelen på. For eksempel, i C-språk, kan vi erklære variabelen på følgende måte:
Syntaks: (Syntaks for variabeldeklarasjon på C-språk)
datatype v1, v2, v3,....;
Eksempel:
#include void main(){ int a; int b; int sum; }
Omfang av variabel
Hver variabel er definert og kan brukes innenfor sitt omfang og bestemmer hvor programmet denne variabelen er tilgjengelig for bruk. Omfanget betyr levetiden til den variabelen. Det betyr at variabelen bare er tilgjengelig eller synlig innenfor dens omfang.
Omfanget av variabler kan defineres med deres erklæring, og variabler deklareres hovedsakelig på to måter:
Hva er en global variabel?
- Globale variabler er de variablene som er deklarert utenfor alle funksjonene eller blokken og kan nås globalt i et program.
- Den kan nås av alle funksjoner i programmet.
- Når vi erklærer en global variabel, kan verdien varieres som brukt med forskjellige funksjoner.
- Levetiden til den globale variabelen eksisterer til programmet kjøres. Disse variablene lagres på faste minneplasseringer gitt av kompilatoren og rydder ikke opp automatisk.
- Globale variabler brukes mest i programmering og nyttige for tilfeller der alle funksjonene trenger å få tilgang til de samme dataene.
Eksempel:
#include int a=50, b=40; void main() { printf('a = %d and b=%d',a,b); }
I eksemplet ovenfor er a og b de globale variablene.
Fordeler med Global Variable
- Globale variabler kan nås av alle funksjonene i programmet.
- Kun en enkelt erklæring kreves.
- Veldig nyttig hvis alle funksjonene har tilgang til samme data.
Ulemper med Global Variable
- Verdien av en global variabel kan endres ved et uhell da den kan brukes av enhver funksjon i programmet.
- Hvis vi bruker et stort antall globale variabler, er det stor sjanse for feilgenerering i programmet.
Hva er en lokal variabel?
- Disse variablene kan bare nås innenfor funksjonen de er deklarert i.
- Levetiden til den lokale variabelen er kun innenfor funksjonen, noe som betyr at variabelen eksisterer til funksjonen kjøres. Når funksjonskjøringen er fullført, blir lokale variabler ødelagt og eksisterer ikke lenger utenfor funksjonen.
- Grunnen til det begrensede omfanget av lokale variabler er at lokale variabler er lagret i stabelen, som er dynamisk av natur og automatisk rydder opp i dataene som er lagret i den.
- Men ved å gjøre variabelen statisk med 'static' nøkkelord, kan vi beholde verdien av lokal variabel.
Eksempel:
#include void main() { int x=50, y=40; printf('x = %d and y=%d',x, y); }
I eksemplet ovenfor har vi erklært x og y to variabler inne i hovedfunksjonen. Derfor er dette lokale variabler.
Fordeler med Local Variable
- Det samme navnet på en lokal variabel kan brukes i forskjellige funksjoner siden den bare gjenkjennes av funksjonen den er deklarert i.
- Lokale variabler bruker minne bare i den begrensede tiden når funksjonen utføres; etter at samme minneplassering kan gjenbrukes.
Ulemper med lokale variabler
- Omfanget av den lokale variabelen er begrenset til dens funksjon og kan ikke brukes av andre funksjoner.
- Datadeling med den lokale variabelen er ikke tillatt.
Sammenligningsdiagram mellom global variabel og lokal variabel
Global variabel | Lokal variabel |
---|---|
Globale variabler er deklarert utenfor alle funksjonsblokkene. | Lokale variabler er deklarert i en funksjonsblokk. |
Omfanget forblir gjennom hele programmet. | Omfanget er begrenset og forblir kun innenfor funksjonen der de er deklarert. |
Enhver endring i global variabel påvirker hele programmet, uansett hvor det brukes. | Enhver endring i den lokale variabelen påvirker ikke andre funksjoner i programmet. |
En global variabel eksisterer i programmet hele tiden programmet kjøres. | En lokal variabel opprettes når funksjonen utføres, og når utførelsen er fullført, blir variabelen ødelagt. |
Den kan nås gjennom hele programmet med alle funksjonene i programmet. | Den kan bare nås av funksjonssetningene der den er deklarert og ikke av de andre funksjonene. |
Hvis den globale variabelen ikke initialiseres, tar den null som standard. | Hvis den lokale variabelen ikke er initialisert, tar den søppelverdien som standard. |
Globale variabler lagres i datasegmentet i minnet. | Lokale variabler lagres i en stabel i minnet. |
Vi kan ikke deklarere mange variabler med samme navn. | Vi kan deklarere forskjellige variabler med samme navn, men i andre funksjoner. |
Eksempler for å forstå forskjeller mellom lokal og global variabel
La oss nå forstå eksempler på forskjellige programmeringsspråk for bedre å forstå forskjellen mellom lokale og globale variabler.
Lokal vs Global i C
Eksempel-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); }
Produksjon:
The addition result is: 120 The Multiplication result is: 200 30
Som vi kan se i programmet ovenfor, har vi tatt en og b globale variabler som brukes i forskjellige funksjoner som Add() og main(). Mens det også er lokale variabler som c, d, Ans1 og Ans2, som bare de funksjonene får tilgang til der de er deklarert.
Hvis vi prøver å bruke c- og d-variabler utenfor Mul()-funksjonen, vil de bli brukt som nye variabler. Som vi har vist ved å ta c i main()-funksjonen også, behandles den som en ny variabel.
kart i java
Lokal vs. Global i Python
Eksempel-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
Produksjon:
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.
I programmet ovenfor har vi tatt en global variabel v1 og en lokal variabel v2. Siden v1 er global, kan den lett nås i alle funksjoner, og v2 er lokal; den brukes bare innenfor dens deklarerte funksjonen. Men hvis vi prøver å bruke v1 i func1, vil det gi en feil. La oss se eksemplet nedenfor:
Eksempel-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
Hvis vi prøver å få tilgang til v1, kan den enkelt nås i fun1 og func2. Men hvis vi prøver å få tilgang til v2 utenfor funksjonen, som betyr i func2, vil det gi kjøretidsfeilen. Vi vil få utgangen nedenfor etter å ha utført koden ovenfor:
Kjøretidsfeil:
NameError: global name 'v2' is not defined
Produksjon:
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.
Lokal vs. Global variabel i Java
I Java er det ikke noe konsept for globale variabler; siden Java er et objektorientert programmeringsspråk, er alt en del av klassen. Men hvis vi ønsker å gjøre en variabel globalt tilgjengelig, kan vi gjøre den statisk ved å bruke en statisk Nøkkelord.
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)); } }
Produksjon:
Value of non-static variable is: 20 Value of static variable is:10
I programmet ovenfor har vi brukt én lokal variabel eller ikke-statisk variabel og én statisk variabel. Den lokale variabelen kan nås ved å bruke objektet til Demo-klassen, mens den statiske variabelen kan nås ved å bruke navnet på klassen.