logo

Co to jest zmienna globalna?

Zmienna to nazwa przypisana do obszaru przechowywania, który może być kontrolowany przez program. Typ zmiennej określa rozmiar i konfigurację pamięci zmiennej.

Zakres wartości, jaki można wstawić do zmiennej, obliczany jest przed wstawieniem do niej wartości, ponieważ o typie zmiennej należy zdecydować przed wstawieniem do niej wartości.

Zakres zmiennych

Zasięg zmiennej to dosłownie czas życia zmiennej. Jest to blok kodu, w którym zmienna jest ważna lub nadal aktualna.

 function poo() { var a; } 

W funkcji „a” deklarujemy zmienną „poo”. Zasięg tej zmiennej pozostaje w obrębie tej funkcji i nie można jej używać poza tą funkcją.

Istnieją trzy miejsca, w których możemy wykorzystać zmienną w naszym programowaniu.

  • W funkcji lub wewnątrz bloku nazywa się to zmiennymi lokalnymi
  • Jeśli jest używany poza wszystkimi funkcjami, nosi nazwę Zmienne globalne
  • Jeśli jest używany w definicji parametrów funkcji, nazywa się go parametrami formalnymi.

Główna różnica

  • Zmienna zadeklarowana w funkcji nazywana jest zmienną lokalną, natomiast jeśli zmienna jest zadeklarowana poza funkcją, nazywana jest zmienną globalną.
  • Z drugiej strony, gdy funkcja rozpoczęła wykonywanie i została utracona po zakończeniu funkcji, zmienne globalne są tworzone w momencie rozpoczęcia wykonywania i znikają po zakończeniu programu. Tworzone są zmienne lokalne.
  • Zmienna lokalna nie obejmuje udostępniania danych, natomiast udostępnianie danych zapewnia zmienna globalna.
  • Zmienne lokalne przechowywane są na stosie, natomiast zmienna globalna jest przechowywana przez programistę w stałym miejscu.
  • W przypadku zmiennych lokalnych potrzebne są parametry, natomiast zmienna globalna nie musi być przesyłana.
Parametr Lokalny Światowy
Zakres Wewnątrz funkcji. Zakres znajduje się poza funkcją.
Wartość Jeśli wartość nie zostanie zainicjowana, wyświetli wartość śmieciową. Jeśli wartość nie jest zainicjowana, domyślnie wyświetli Zero.
Dożywotni Jest tworzony, gdy funkcja rozpoczyna wykonywanie i tracony, gdy funkcja się kończy. Jest tworzony przed rozpoczęciem globalnego wykonywania programu i tracony po zakończeniu programu.
Udostępnianie danych Niemożliwe. Możliwy.
Parametry Wymagany. Nie wymagane.
Dostęp dla Zmienne lokalne Dostęp do zmiennych globalnych mamy w całym programie.
Przechowywanie pamięci Na stosie. W stałej lokalizacji wyznaczonej przez komputer.

Zmienna lokalna

Zmienna lokalna jest określona w bloku programu lub podprogramach jako forma zadeklarowanej zmiennej. Zmienna lokalna utrzymuje się przed wykonaniem bloku funkcji. Następnie zostanie automatycznie utracony.

Przykład zmiennej lokalnej

 public int sum(){ int x =4; int y=5; return x+y; } 

Tutaj „x” i „y” są zmiennymi lokalnymi

Zmienna globalna

Zmienna określona poza funkcją lub blokiem kodu nazywana jest zmienną globalną. Ma zasięg globalny, co oznacza, że ​​zachowuje swoją aktualność przez cały okres istnienia programu. Dlatego każda funkcja określona w programie może uzyskać do niej dostęp w programie, chyba że jest ona zacieniona.

Przykład zmiennej globalnej

 int x =4; int y=5; public int add(){ return x+y; } 

Tutaj „x” i „y” są zmiennymi globalnymi.

Zalety stosowania zmiennych globalnych

  • Dostęp do zmiennej globalnej można uzyskać ze wszystkich funkcji lub modułów programu.
  • Musimy jedynie zadeklarować jednorazową zmienną globalną poza modułami.
  • Używa się go, gdy użytkownik musi wielokrotnie uzyskiwać dostęp do tych samych danych w całym programie.

Wady stosowania zmiennych globalnych

  • Tak wiele zmiennych deklaruje się jako globalne, że pozostają one w pamięci do czasu zakończenia wykonywania programu. Może to spowodować problem braku pamięci.
  • Każda funkcja może zmieniać dane. Każda instrukcja zapisana w programie zmieni wartość zmiennej globalnej. W środowiskach wielozadaniowych może to zapewnić nieprzewidywalne wyniki.
  • Musimy zmodyfikować wszystkie moduły, które mają nazwy, jeśli zmienne globalne zostaną wycofane z powodu refaktoryzacji kodu.

Zalety stosowania zmiennych lokalnych

  • Wartości zmiennych pozostają niezmienione podczas wykonywania zadania – to podstawowe znaczenie zmiennej lokalnej.
  • Jeśli pojedyncza zmienna działająca jednocześnie zostanie zmieniona przez wiele zadań, wynik może być nieprzewidywalny. Jednak zadeklarowanie tego jako zmiennej lokalnej rozwiąże problem.
  • Tę samą nazwę możemy przypisać zmiennym w różnych funkcjach.
  • Po wykonaniu funkcji pamięć zmiennej zostaje zwolniona.

Wady zmiennych lokalnych

  • Metoda debugowania zmiennej lokalnej jest bardzo skomplikowana.
  • Popularne dane musiały być regularnie przesyłane, ponieważ wymiana danych pomiędzy modułami nie była możliwa.
  • Mają bardzo małe widmo.

Co jest bardziej przydatne?

Równie istotna zmienna lokalna i globalna przy pisaniu programu w dowolnym języku. Jednakże duża ilość zmiennej globalnej może zajmować ogromną ilość pamięci. Niepożądane przejście na zmienne globalne staje się trudne do zdefiniowania. Rozsądnie jest także unikać ogłaszania niepożądanych zmiennych globalnych.