Глобальная переменная
Глобальная переменная — это переменная, объявленная за пределами подпрограмм и доступная в широкой области программы. Её значение могут использовать несколько подпрограмм, а иногда и основная часть программы.
Чтобы понять, где разрешено обращаться к имени переменной, используют понятие переменная и изучают область видимости. Глобальная переменная обычно объявляется в начале программы, до описания процедур и функций. Поэтому подпрограммы, записанные ниже, могут обращаться к ней по имени без передачи дополнительного параметра.
В программе объявлена глобальная переменная \(count\). Процедура add увеличивает её на единицу, а основная программа после вызова процедуры получает новое значение. Если \(count=4\), после выполнения add значение станет \(5\). Переменная сохраняет значение между вызовами подпрограммы.
Глобальная переменная удобна, когда одни и те же данные действительно нужны многим частям программы. Однако большое количество таких переменных усложняет анализ: подпрограмма может изменить значение не только через свои параметры, но и через внешний объект. Поэтому при возможности данные передают явно, например параметрами, или используют локальную переменную, существующую только внутри подпрограммы.
Глобальная переменная не является переменной, объявленной внутри подпрограммы. Такая переменная называется локальной и обычно недоступна после завершения подпрограммы. Также глобальную переменную не следует путать с параметром: параметр передаётся в подпрограмму при вызове, а глобальная переменная доступна благодаря своей области видимости.
Переменная s объявлена до описания всех процедур. Процедура p изменяет s, но не получает её в качестве параметра. Какой вывод верен?
Главное
- Глобальная переменная объявляется вне подпрограмм и доступна в широкой области программы.
- Подпрограмма может использовать глобальную переменную без передачи её параметром.
- Глобальные переменные удобны, но их частое изменение усложняет понимание и проверку программы.