Зміст:
Визначення - Що означає глобальна змінна?
Глобальна змінна - це конструкція мови програмування, тип змінної, яка оголошується поза будь-якою функцією і є доступною для всіх функцій всієї програми. Група глобальних змінних називається глобальним станом або глобальним середовищем, оскільки в поєднанні вони визначають різні аспекти програми або середовища, коли програма працює. Глобальна змінна зазвичай оголошується поверх усіх функцій і зводиться до мінімуму, оскільки всі функції можуть маніпулювати ними під час виконання програми, що вважається небезпечним для більшості програмістів, оскільки вони можуть бути випадково змінені, що призводить до помилок.
Техопедія пояснює глобальну змінну
Глобальні змінні, як випливає з назви, - це змінні, доступні в усьому світі або скрізь у всій програмі. Після оголошення вони залишаються в пам'яті протягом усього часу виконання програми. Це означає, що вони можуть бути змінені будь-якою функцією в будь-якій точці і можуть вплинути на програму в цілому. У перші роки комп'ютерів, де пам'ять була дуже обмеженою, вони вважалися поганою практикою, оскільки вони займали цінний простір пам'яті, і програмісту було дуже просто втратити свої значення, особливо в довгих програмах, що призвело до помилок, які можуть бути дуже важко знайти. Вихідний код найкраще розуміти, коли сфера його окремих елементів обмежена, тому через їх не локальність важко відслідковувати, де вони були змінені чи чому вони були змінені.
Навіть при цій стигмі глобальні змінні є цінними у функціях, які не поділяють відношення "виклик і виклик", наприклад, обробники сигналів та одночасні потоки. За винятком глобальних змінних, оголошених як значення лише для читання в захищеній пам'яті, коди повинні розгорнути належну інкапсуляцію, щоб вважатись "безпечною для потоків".
Ранні версії неструктурованих мов, таких як BASIC, COBOL та Fortran, використовували лише глобальні змінні. Однак такі мови, як Lua, Forth і Perl, використовують глобальні змінні за замовчуванням, як і більшість скриптів оболонок.
