Какво е променлива?
Променливата е име, присвоено на място за съхранение, което програмата може да манипулира. Тип променлива определя размера и оформлението на паметта на променливата.
Той също така определя диапазона от стойности, които трябва да се съхраняват в тази памет и естеството на операциите, които могат да бъдат приложени към тази променлива.
В този урок ще научите
- Обхват на променливите
- Определение на локална променлива
- Определение на глобалната променлива
- Локална променлива спрямо глобална променлива
- Предимства на използването на глобални променливи
- Предимства на използването на локални променливи
- Недостатъци на използването на глобални променливи
- Недостатъци на използването на локални променливи
- Какво е по-полезно?
Обхват на променливите
Обхватът на променливата е просто живот на променлива. Това е блок от код, под който дадена променлива е приложима или жива. Например:
function foo(){var x;}
Декларирате променлива "x" във функция "foo." Обхватът на тази променлива остава вътре в тази функция, тя не може да се използва извън тази функция.
Има три места, където променливите можете да декларирате език за програмиране на променливи:
- Вътре във функция или блок: Локални променливи
- Извън всички функции: Глобални променливи
- В дефиницията на функционални параметри: Формални параметри
КЛЮЧОВА РАЗЛИКА
- Локалната променлива е декларирана във функция, докато глобалната променлива е декларирана извън функцията.
- Локалните променливи се създават, когато функцията е започнала да се изпълнява и се губи, когато функцията приключи, от друга страна, глобалната променлива се създава при стартиране на изпълнението и се губи, когато програмата приключи.
- Локалната променлива не предоставя споделяне на данни, докато глобалната променлива осигурява споделяне на данни.
- Локалните променливи се съхраняват в стека, докато глобалната променлива се съхранява на фиксирано място, определено от компилатора.
- Предаването на параметри се изисква за локални променливи, докато не е необходимо за глобална променлива
Локална променлива
Локалната променлива се дефинира като тип променлива, декларирана в рамките на програмния блок или подпрограми. Може да се използва само в подпрограмата или кодовия блок, в който е деклариран. Локалната променлива съществува, докато блокът на функцията не е в изпълнение. След това той ще бъде унищожен автоматично.
Пример за локална променлива
public int add(){int a =4;int b=5;return a+b;}
Тук „a“ и „b“ са локални променливи
Глобална променлива
А на глобална променлива в програмата е променлива, дефинирана извън подпрограма или функция. Той има глобален обхват, което означава, че запазва своята стойност през целия живот на програмата. Следователно той може да бъде достъпен в цялата програма от всяка функция, дефинирана в програмата, освен ако не е в сянка.
Пример:
int a =4;int b=5;public int add(){return a+b;}
Тук „a“ и „b“ са глобални променливи.
Локална променлива Vs. Глобални променливи
Ето някои основни разлики между местните и глобалните променливи.
Параметър | Местен | Глобален |
---|---|---|
Обхват | Декларира се във функция. | Декларира се извън функцията. |
Стойност | Ако не се инициализира, се съхранява стойност на боклука | Ако не е инициализиран, нулата се съхранява по подразбиране. |
Живот | Създава се, когато функцията започне да се изпълнява и се губи при прекратяване на функциите. | Създава се преди глобалното изпълнение на програмата и се губи, когато програмата приключи. |
Споделяне на данни | Споделянето на данни не е възможно, тъй като данните от локалната променлива могат да бъдат достъпни само от една функция. | Споделянето на данни е възможно, тъй като множество функции могат да имат достъп до една и съща глобална променлива. |
Параметри | Предаването на параметри се изисква за локални променливи за достъп до стойността в друга функция | Предаването на параметри не е необходимо за глобална променлива, тъй като е видима в цялата програма |
Модификация на променлива стойност | Когато стойността на локалната променлива се модифицира в една функция, промените не се виждат в друга функция. | Когато стойността на глобалната променлива е модифицирана в една функция, промените са видими в останалата част от програмата. |
Достъп от | Локалните променливи могат да бъдат достъпни с помощта на изрази, във функция, в която са декларирани. | Можете да получите достъп до глобални променливи чрез всеки оператор в програмата. |
Съхранение в паметта | Той се съхранява в стека, освен ако не е посочено. | Той се съхранява на фиксирано място, определено от компилатора. |
Предимства на използването на глобални променливи
- Можете да получите достъп до глобалната променлива от всички функции или модули в програма
- Трябва само да декларирате глобална променлива един път извън модулите.
- Идеално се използва за съхраняване на „константи“, тъй като ви помага да запазите консистенцията.
- Глобалната променлива е полезна, когато множество функции имат достъп до едни и същи данни.
Предимства на използването на локални променливи
- Използването на локални променливи предлага гаранция, че стойностите на променливите ще останат непокътнати, докато задачата се изпълнява
- Ако няколко задачи променят една променлива, която се изпълнява едновременно, резултатът може да е непредсказуем. Но декларирането му като локална променлива решава този проблем, тъй като всяка задача ще създаде свой собствен екземпляр на локалната променлива.
- Можете да дадете на местните променливи едно и също име в различни функции, защото те се разпознават само от функцията, в която са декларирани.
- Локалните променливи се изтриват веднага след като някоя функция приключи и освобождават мястото на паметта, което заема.
Недостатъци на използването на глобални променливи
- Твърде много променливи са декларирани като глобални, след което те остават в паметта до завършване на изпълнението на програмата. Това може да причини проблем с липсата на памет.
- Данните могат да бъдат модифицирани от всяка функция. Всеки израз, написан в програмата, може да промени стойността на глобалната променлива. Това може да даде непредсказуеми резултати в многозадачна среда.
- Ако глобалните променливи бъдат преустановени поради рефакторинг на код, ще трябва да промените всички модули, където са извикани.
Недостатъци на използването на локални променливи
- Процесът на отстраняване на грешки на локална променлива е доста сложен.
- Общите данни, необходими за многократно предаване, тъй като споделянето на данни не е възможно между модулите.
- Те имат много ограничен обхват.
Какво е по-полезно?
Локалната и глобалната променлива са еднакво важни, докато пишете програма на всеки език. Въпреки това, голям брой от глобалната променлива може да заема огромна памет. Нежелана промяна на глобалните променливи става трудно да се идентифицира. Поради това е препоръчително да се избягва декларирането на нежелани глобални променливи.