Vad är en variabel?
Variabel är ett namn tilldelat ett lagringsområde som programmet kan manipulera. En variabel typ bestämmer storleken och layouten för variabelns minne.
Det bestämmer också det intervall av värden som måste lagras i det minnet och typen av operationer som kan tillämpas på den variabeln.
I den här handledningen lär du dig
- Variablernas omfattning
- Definition av lokal variabel
- Definition av global variabel
- Lokala variabler kontra globala variabler
- Fördelar med att använda globala variabler
- Fördelar med att använda lokala variabler
- Nackdelar med att använda globala variabler
- Nackdelar med att använda lokala variabler
- Vad är mer användbart?
Variablernas omfattning
Omfattningen av variabeln är helt enkelt livstid för en variabel. Det är kodblock under vilket en variabel är tillämplig eller levande. Till exempel:
function foo(){var x;}
Du förklarar en variabel "x" i en funktion "foo." Omfattningen av den variabeln förblir inuti den funktionen, den kan inte användas utanför den funktionen.
Det finns tre platser där variabler du kan deklarera variabelt programmeringsspråk:
- Inuti en funktion eller ett block: Lokala variabler
- Utanför alla funktioner: Globala variabler
- I definitionen av funktionsparametrar: Formella parametrar
NYCKELSKILL
- Lokal variabel deklareras i en funktion medan Global variabel deklareras utanför funktionen.
- Lokala variabler skapas när funktionen har startat körningen och går förlorad när funktionen avslutas, å andra sidan skapas global variabel när körningen startar och går förlorad när programmet avslutas.
- Lokal variabel tillhandahåller inte datadelning medan global variabel ger datadelning.
- Lokala variabler lagras på stacken medan den globala variabeln lagras på en fast plats som kompilatorn bestämmer.
- Parametrar som passerar krävs för lokala variabler medan det inte är nödvändigt för en global variabel
Lokal variabel
Lokal variabel definieras som en typ av variabel som deklareras inom programmeringsblock eller underrutiner. Den kan bara användas inuti underrutinen eller kodblocket där den deklareras. Den lokala variabeln finns tills blocket för funktionen är under körning. Därefter förstörs den automatiskt.
Exempel på lokal variabel
public int add(){int a =4;int b=5;return a+b;}
Här är 'a' och 'b' lokala variabler
Global variabel
En global variabel i programmet är en variabel som definieras utanför underrutinen eller funktionen. Det har ett globalt omfång innebär att det håller sitt värde under hela programmets livstid. Därför kan den nås i hela programmet med vilken funktion som helst som definieras i programmet, såvida den inte är skuggad.
Exempel:
int a =4;int b=5;public int add(){return a+b;}
Här är 'a' och 'b' globala variabler.
Lokala variabler vs. Globala variabler
Här är några grundläggande skillnader mellan lokala och globala variabler.
Parameter | Lokal | Global |
---|---|---|
Omfattning | Det deklareras i en funktion. | Det deklareras utanför funktionen. |
Värde | Om den inte initialiseras lagras ett skräpvärde | Om den inte initialiseras sparas noll som standard. |
Livstid | Den skapas när funktionen startar körningen och går förlorad när funktionerna avslutas. | Det skapas innan programmets globala körning startar och förloras när programmet avslutas. |
Datadelning | Datadelning är inte möjlig eftersom data för den lokala variabeln kan nås av endast en funktion. | Datadelning är möjlig eftersom flera funktioner har åtkomst till samma globala variabel. |
Parametrar | Parametrar som passerar krävs för att lokala variabler ska få tillgång till värdet i en annan funktion | Parametrar som passerar är inte nödvändiga för en global variabel eftersom den syns i hela programmet |
Ändring av variabelt värde | När värdet på den lokala variabeln modifieras i en funktion visas inte ändringarna i en annan funktion. | När värdet på den globala variabeln ändras i en funktion syns förändringar i resten av programmet. |
Åtkomst av | Lokala variabler kan nås med hjälp av uttalanden, inuti en funktion där de deklareras. | Du kan komma åt globala variabler med valfritt uttalande i programmet. |
Minneslagring | Den lagras på stacken om inte annat anges. | Den lagras på en fast plats som kompilatorn bestämmer. |
Fördelar med att använda globala variabler
- Du kan komma åt den globala variabeln från alla funktioner eller moduler i ett program
- Du behöver bara deklarera global variabel en gång utanför modulerna.
- Det används idealiskt för att lagra "konstanter" eftersom det hjälper dig att hålla konsistensen.
- En global variabel är användbar när flera funktioner har åtkomst till samma data.
Fördelar med att använda lokala variabler
- Användningen av lokala variabler ger en garanti för att värdena på variablerna förblir intakta medan uppgiften körs
- Om flera uppgifter ändrar en enda variabel som körs samtidigt kan resultatet vara oförutsägbart. Men att förklara det som en lokal variabel löser problemet eftersom varje uppgift skapar sin egen instans av den lokala variabeln.
- Du kan ge lokala variabler samma namn i olika funktioner eftersom de bara känns igen av den funktion de deklareras i.
- Lokala variabler raderas så snart någon funktion är över och frigör minnesutrymmet som den upptar.
Nackdelar med att använda globala variabler
- För många variabler som deklarerats som globala förblir de kvar i minnet tills programkörningen är klar. Detta kan orsaka problem utan minne.
- Data kan modifieras av vilken funktion som helst. Varje uttalande som skrivs i programmet kan ändra värdet på den globala variabeln. Detta kan ge oförutsägbara resultat i multitasking-miljöer.
- Om globala variabler avbryts på grund av kodreformering måste du ändra alla moduler där de kallas.
Nackdelar med att använda lokala variabler
- Felsökningen av en lokal variabel är ganska knepig.
- Vanlig data som krävs för att passera upprepade gånger eftersom datadelning inte är möjlig mellan moduler.
- De har ett mycket begränsat omfång.
Vad är mer användbart?
Den lokala och globala variabeln är lika viktig när du skriver ett program på vilket språk som helst. Ett stort antal av den globala variabeln kan dock uppta ett stort minne. En oönskad förändring av globala variabler har blivit svår att identifiera. Därför är det lämpligt att undvika att deklarera oönskade globala variabler.