Променљива је име додељено подручју за складиштење које може да контролише програм. Тип променљиве одређује величину и конфигурацију меморије променљиве.
Опсег вредности који се може уметнути у променљиву израчунава се пре убацивања вредности у њу, пошто се тип променљиве мора одлучити пре уметања вредности у њу.
Обим променљивих
Опсег променљиве је буквално животни век променљиве. То је блок кода у коме је променљива важећа или још увек жива.
function poo() { var a; }
Унутар функције 'а' декларишемо променљиву 'поо'. Опсег те променљиве остаје унутар те функције и не може се користити ван те функције.
Постоје три места где можемо да користимо променљиву у нашем програмирању.
- У функцији или унутар блока онда се каже да су то локалне променљиве
- Ако се користи изван свих функција, онда се назива Глобалне променљиве
- Ако се користи у дефиницији параметара функције, онда се назива формалним параметрима.
Главна разлика
- Променљива која је декларисана унутар функције назива се локалном променљивом, док је променљива декларисана ван функције позната као глобална променљива.
- С друге стране, када је функција почела да се извршава и када се функција заврши, глобалне променљиве се креирају када извршење почне и губе се када се програм заврши. Креирају се локалне варијабле.
- Локална променљива не укључује дељење података, док је дељење података дато глобалном променљивом.
- Локалне променљиве се чувају на стеку, док глобалну променљиву програмер чува на фиксној локацији.
- За локалне променљиве, параметри су потребни док глобална променљива не мора да се преноси.
Параметар | Локални | Глобал |
---|---|---|
Обим | Унутар функције. | Обим је изван функције. |
Валуе | Ако вредност није иницијализована, даће вредност смећа. | Ако вредност није иницијализована, подразумевано ће дати нулу. |
Животни век | Креира се када функција почне да се извршава и губи се када се функције прекидају. | Креира се пре него што почне глобално извршавање програма и губи се када се програм заврши. |
Дељење података | Није могуће. | Могуће. |
Параметерс | Потребан. | Не тражи се. |
Приступио је | Локалне варијабле | Можемо приступити глобалним варијаблама кроз програм. |
Складиштење меморије | На гомилу. | На фиксној локацији коју је доделио рачунар. |
Локална променљива
Локална променљива је наведена у блоку програмирања или потпрограмима као декларисана форма променљиве. Локална променљива постоји пре него што се блок функције изврши. Након тога ће се аутоматски изгубити.
Пример локалне променљиве
public int sum(){ int x =4; int y=5; return x+y; }
Овде су 'к' и 'и' локалне променљиве
Глобална променљива
Променљива која је наведена изван функције или блока кода позната је као глобална променљива. Има глобални домет, што значи да задржава своју релевантност током животног века програма. Стога, било која функција наведена у програму може јој приступити у оквиру програма, осим ако није засенчена.
Пример глобалне променљиве
int x =4; int y=5; public int add(){ return x+y; }
Овде су 'к' и 'и' глобалне променљиве.
Предности коришћења глобалних променљивих
- Глобалној променљивој се може приступити из свих функција или модула у програму.
- Потребно је само да декларишемо једнократну глобалну променљиву ван модула.
- Користи се када корисник треба да приступи истим подацима у целом програму изнова и изнова.
Недостаци коришћења глобалних променљивих
- Толико променљивих је декларисано као глобално, а затим остају у меморији док се извршавање програма не заврши. Ово може изазвати проблем недостатка меморије.
- Било која функција може да промени податке. Свака изјава која је написана у програму ће променити вредност глобалне променљиве. У окружењима са више задатака, ово може понудити непредвидиве резултате.
- Морамо да изменимо све модуле где су именовани ако се глобалне променљиве укину због рефакторисања кода.
Предности коришћења локалних променљивих
- Вредности варијабли остају непромењене док се задатак извршава је основно значење локалне променљиве.
- Ако се једна променљива која се покреће истовремено промени много задатака, онда исход може бити непредвидљив. Међутим, декларисање као локална променљива ће то решити.
- Можемо да доделимо исто име променљивама у различитим функцијама.
- Како се функција извршава, меморија променљиве се ослобађа.
Недостаци локалних варијабли
- Метода за отклањање грешака локалне променљиве је веома зезнута.
- Популарне податке је требало редовно преносити јер дељење података између модула није изводљиво.
- Имају спектар који је веома мали.
Шта је корисније?
Једнако битна локална и глобална варијабла када се пише програм на било ком језику. Међутим, велика количина глобалне променљиве може заузети огромну меморију. Нежељени прелазак на глобалне варијабле постаје тешко дефинисати. Такође је мудро избегавати објављивање глобалних променљивих које су нежељене.