Область действия переменной – это правила, которые устанавливают, какие данные доступны из данного места программы.
С точки зрения области действия переменных различают три типа переменных: глобальные, локальные и формальные параметры. Правила области действия определяют, где каждая из них может применяться.
Локальные переменные - это переменные, объявленные внутри блока, в частности внутри функции. Язык С++ поддерживает простое правило: переменная может быть объявлена внутри любого блока программы. Локальная переменная доступна внутри блока, в котором она объявлена
Локальная переменная существует пока выполняется блок, в котором эта переменная объявлена. При выходе из блока эта переменная (и ее значение) теряется.
Пример 6_3. Использование локальных переменных.
#include "stdafx.h"
using namespace System;
void f(void);
int main()
{
int i = 1;
f();
Console::WriteLine("В функции main() значение i = " + i);
Console::ReadLine();
return 0;
}
void f(void)
{
int i = 10;
Console::WriteLine("В функции f() значение i = " + i);
}
Результат работы программы:
В функции f() значение i = 10
В функции main() значение i = 1
Пример показывает, что при вызове функции значение переменной i, объявленной в main(), не изменилось.
Формальные параметры - это переменные, объявленные при описании функций как ее аргументы. Функции могут иметь некоторое количество параметров, которые используются при вызове функций для передачи значений в тело функции. Формальные параметры могут использоваться в теле функции так же, как и локальные переменные, которыми они по сути дела и являются. Область действия формальных параметров - блок, являющийся телом функции.
Глобальные переменные - это переменные, объявленные вне какой-либо функции. В отличие от локальных переменных глобальные переменные могут быть использованы в любом месте программы, но перед их первым использованием они должны быть объявлены. Область действия глобальной переменной - вся программа.
Использование глобальных переменных имеет свои недостатки:
- они занимают память в течение всего времени работы программы;
- использование глобальных переменных делает функции менее общими и затрудняет их использование в других программах;
- использование внешних переменных делает возможным появление ошибок из-за побочных явлений. Эти ошибки, как правило, трудно отыскать.