Logo pl.removalsclassifieds.com

Różnica między zmiennymi lokalnymi i globalnymi (z tabelą)

Spisu treści:

Anonim

Ponieważ komputery stały się ogromnym aspektem naszego życia i, jak wszyscy wiemy, zniewoliły nas, nigdy nie zaszkodzi poznać kilka szczegółów, które generalnie pomagają nam na co dzień. Aby zagłębić się w temat, który jest dość techniczny i głęboki, powinniśmy przyjrzeć się pojęciu zmiennych i różnicy między ich typami – lokalnym i globalnym.

Zmienne lokalne i globalne

Różnica między zmiennymi lokalnymi i globalnymi polega na tym, że chociaż obie są dwoma typami zmiennych, ta pierwsza jest deklarowana wewnątrz funkcji, podczas gdy druga jest deklarowana poza nią. Ich życia też się różnią. Podczas gdy pierwsze życie zaczyna się i kończy wraz z wykonaniem i zakończeniem funkcji, drugie jest tworzone jeszcze przed rozpoczęciem wykonywania programu. Kończy się to jednak zakończeniem programu.

Zmienna lokalna jest rodzajem zmiennej. Jest zadeklarowany wewnątrz funkcji, a jego czas życia waha się od wykonania do jej zakończenia. Jego zakres jest również ograniczony w ramach funkcji, w której został zadeklarowany. Jeśli jest niezainicjowany, może przechowywać „wartość śmieci”.

Z drugiej strony zmienna globalna jest również rodzajem zmiennej. Charakteryzuje się deklaracją poza funkcją. Jest tworzony jeszcze przed rozpoczęciem wykonywania programu; kończy się jednak wraz z zakończeniem programu. Jeśli jest niezainicjowany, domyślnie przechowuje zero.

Tabela porównawcza między zmiennymi lokalnymi i globalnymi

Parametry porównania

Zmienne lokalne

Zmienne globalne

Udostępnianie danych Nie jest to tutaj możliwe, ponieważ dostęp do danych można uzyskać tylko za pomocą jednej funkcji Ponieważ wiele funkcji ma do niego dostęp, ta funkcja jest możliwa
Parametr Przekazywanie parametrów do wartości dostępu jest koniecznością Przekazywanie parametrów nie jest konieczne, ponieważ wartość jest dostępna przez cały czas
Modyfikacje Jeśli wartość zostanie zmodyfikowana w jednej z funkcji, to takie modyfikacje nie mają odzwierciedlenia w innych funkcjach Jeśli wartość zostanie zmodyfikowana w jednej z funkcji, to modyfikacje te odzwierciedlają cały program
Dostępność Dostęp do tego można uzyskać za pomocą instrukcji zawartych wewnątrz funkcji Dostęp do tego można uzyskać za pomocą dowolnej instrukcji znajdującej się w programie
Przechowywanie Jest on przechowywany w nieokreślonej lokalizacji, chyba że określono inaczej To jest przechowywane w określonej lokalizacji

Co to są zmienne lokalne?

To jest rodzaj zmiennej. Jego cechy polegają na tym, że jest zadeklarowany w ramach lub wewnątrz określonej funkcji, a dostęp do jego wartości można uzyskać tylko za pomocą takiego oświadczenia, które zostało włączone do funkcji. Okres przydatności do spożycia rozpoczyna się w momencie rozpoczęcia realizacji programu i kończy się wraz z jego zakończeniem.

Innym aspektem jest to, że jego zakres jest również ograniczony w ramach funkcji, w której został zadeklarowany. Jeśli jest niezainicjowany, może przechowywać „wartość śmieci”. W tym celu udostępnianie danych nie jest możliwe, ponieważ dostęp do danych można uzyskać tylko za pomocą jednej funkcji. Niezbędne jest również przekazywanie parametrów do wartości dostępu.

Innym czynnikiem, na który należy zwrócić uwagę, jest to, że jeśli wartość jest modyfikowana w jednej z funkcji, to takie modyfikacje nie mają odzwierciedlenia w innych funkcjach. Dostęp do tego można uzyskać za pomocą instrukcji zawartych wewnątrz funkcji.

Jest to kilka zalet, na przykład gwarantuje, że wartości pozostaną nienaruszone, nawet gdy zadanie jest uruchomione. Ponieważ każde zadanie tworzy swoją zmienną lokalną, wyniki nadal będą przewidywalne. Są one usuwane wraz z zakończeniem dowolnej funkcji, zwalniając w ten sposób zajmowane wcześniej miejsce w pamięci.

Co to są zmienne globalne?

To też jest rodzaj zmiennej. Charakteryzuje się deklaracją poza funkcją. Jest tworzony jeszcze przed rozpoczęciem wykonywania programu; kończy się jednak wraz z zakończeniem programu. Jeśli jest niezainicjowany, domyślnie przechowuje zero.

Udostępnianie danych jest tutaj możliwe, ponieważ wiele funkcji ma do nich dostęp. Ta funkcja jest możliwa. Przekazywanie parametrów nie jest absolutnie konieczne, ponieważ do wartości można uzyskać dostęp przez cały czas dzięki zmiennym zadeklarowanym poza funkcjami. Jeśli wartość zostanie zmodyfikowana w jednej z funkcji, takie modyfikacje odzwierciedlają cały program. Dostęp do tego można uzyskać za pomocą dowolnej instrukcji znajdującej się w programie.

Ma to pewne zalety, takie jak dostęp do wszystkich funkcji programu. Ma kluczowe znaczenie w przechowywaniu „stałych” i pomaga w utrzymaniu spójności. Jest to najbardziej przydatne, gdy wiele funkcji ma dostęp do tych samych danych. Jego wadą jest to, że kilka zmiennych pozostaje w pamięci do czasu wykonania programu, co z kolei może prowadzić do problemu „braku pamięci”. Ponadto czasami wyniki mogą być niewiarygodne i nieprzewidywalne, ponieważ dane mogą być zmieniane lub modyfikowane przez dowolną funkcję.

Główne różnice między zmiennymi lokalnymi i globalnymi

Wniosek

Wraz ze wzrostem zawiłości świata komputerów, zamieszanie, które z tego wynika, będzie się pojawiać. Dlatego warto zapoznać się z pojęciem zmiennych i ich rodzajami. Chociaż obie są dwoma typami zmiennych, ta pierwsza jest deklarowana wewnątrz funkcji, podczas gdy druga jest deklarowana poza nią. Ich życia też się różnią. Podczas gdy pierwsze życie zaczyna się i kończy wraz z wykonaniem i zakończeniem funkcji, drugie jest tworzone jeszcze przed rozpoczęciem wykonywania programu. Kończy się to jednak zakończeniem programu. Mają swoje własne zalety i wady.

Kilka zalet tego pierwszego to gwarancja, że ​​wartości pozostaną nienaruszone, nawet gdy zadanie jest uruchomione, a ponieważ każde zadanie tworzy swoją zmienną lokalną, wyniki nadal będą przewidywalne. Ponadto pewne zalety tego ostatniego polegają na tym, że można uzyskać do niego dostęp ze wszystkich funkcji programu.

Bibliografia

  1. https://onlinelibrary.wiley.com/doi/full/10.1111/cogs.12831
  2. https://www.sciencedirect.com/science/article/pii/S1878029615001905

Różnica między zmiennymi lokalnymi i globalnymi (z tabelą)