Локальные и глобальные переменные
💻 Информатика · 9 класс
Область видимости переменной
Когда программа разбита на процедуры и функции, каждая переменная имеет свою область видимости — ту часть программы, где к этой переменной можно обращаться. По области видимости переменные делят на глобальные и локальные. Понимание этой разницы помогает избегать запутанных ошибок и писать более надёжные программы.
Деление программы на процедуры — естественный способ справиться со сложностью. Каждая процедура решает свою маленькую задачу, и удобно, когда её внутренние переменные не мешают остальной программе. Именно это и обеспечивают локальные переменные.
Чем они отличаются
| Признак | Глобальная переменная | Локальная переменная |
|---|---|---|
| Где объявлена | В основной программе | Внутри процедуры или функции |
| Где видна | Во всей программе | Только в своей процедуре |
| Когда существует | Всё время работы программы | Пока выполняется процедура |
Глобальная переменная объявлена в основной части программы и доступна из любой её точки, в том числе изнутри процедур. Локальная переменная объявлена внутри процедуры и существует только во время её выполнения; за пределами процедуры обратиться к ней нельзя, программа просто «не знает» о её существовании.
Разбор примера
переменная s // глобальная, видна всюду
процедура Сумма(a, b)
переменная r // локальная, видна только здесь
r := a + b
s := r // меняем глобальную переменную
конец процедуры
В этом примере переменная s видна во всей программе, а переменная r — только внутри процедуры Сумма. После того как процедура завершит работу, локальная переменная r исчезает и освобождает память. А вот изменённое значение глобальной переменной s сохраняется и доступно дальше.
Зачем нужны локальные переменные
- Они не мешают другим частям программы: одинаковые имена в разных процедурах не конфликтуют.
- Уменьшают риск случайно испортить данные, которые использует другая часть программы.
- Делают процедуру самостоятельной, понятной и легко переносимой в другую программу.
Частая ошибка. Полагаться на глобальные переменные там, где вполне хватило бы локальных. В этом случае одна процедура незаметно меняет данные, которыми пользуется другая, и найти причину сбоя становится очень трудно. Хорошее правило — делать переменные локальными везде, где это возможно.
Кратко о главном
- Область видимости — это часть программы, где переменная доступна.
- Глобальная переменная видна везде, локальная — только в своей процедуре.
- Локальная переменная существует лишь во время работы процедуры.
- Локальные переменные делают программу надёжнее и понятнее.