Odpowiedź :
Odpowiedź
Wady:
- istotnie zmniejszona czytelność programu; definicje/deklaracje zmiennych nie znajdują się tam gdzie te zmienne są używane; najłatwiej to zrozumieć gdyby zmienna używana do iteracji w pętli była zdefiniowana globalnie i patrząc na pętlę nie byłoby widać czy jest to np. zmienna całkowita, czy zmienna całkowita bez znaku
- nieefektywne wykorzystanie pamięci ponieważ wszystkie zmienne zawsze istnieją
- groźba przepełnienie pamięci (a właściwie zwykle stosu) przy użyciu globalnie zadeklarowanych zmiennych dynamicznych; to nie jest wada, ale często się zdarza, że fragment kodu odpowiedzialny za zwolnienie pamięci zostanie przesunięty lub usunięty (tu konieczne by było dłuższe objaśnienie)
- trudność rozszerzania programu przy wykorzystaniu już istniejących modułów, ponieważ mogą one zawierać już istniejące nazwy zmiennych
Zalety
- łatwość przekazywania danych pomiędzy poszczególnymi elementami programu
- łatwość rozszerzania programu – wiadomo gdzie są wszystkie deklaracje
- łatwość używania jednoznacznie zdefiniowanych stałych (to też zmienne, tylko niezmieniające wartości) w całym programie
Wyjaśnienie
Nie jest tak, że zmienne globalne mają wady i zalety. Można ewentualnie rozważając konkretny język programowania opisać jak najlepiej wykorzystywać zmienne globalne oraz jak ich nie wykorzystywać, ale nie są to wady lub zalety.