Урок 12. Области видимости

Уроки для начинающих   2 июля 2013  Автор статьи:  
geekbrains.ru/

Область видимости переменной — это такое место в коде, в котором данная переменная может быть использована. Например, мы объявим переменную внутри некоторой функции, очевидно, что мы не сможем обращаться к ней вне функции, потому что там про нее ничего не знают:

void my_function()
{
int value = 3;
}

int main()
{
cout<
С другой стороны мы с легкостью можем использовать переменную value внутри функции. В предыдущих уроках мы уже говорили, что области видимости переменных начинается с места ее объявления и кончается первой закрывающейся фигурной скобкой. Рассмотрим следующий пример:

int a;
//начинается область видимости переменной а
void my_function(int b)
{//начинается область видимости переменной b
if(b > 3)
{
int c = 7;
//начинается область видимости переменной c
c++;
}//заканчивается область видимости переменной c
}//заканчивается область видимости переменной b

int main()
{
int d = 8;
//начинается область видимости переменной d
return 0;
}//заканчивается область видимости переменной d
//заканчивается область видимости переменной а

Как можно заметить из примера, переменная а доступна из всего кода, поэтому она называется глобальной переменной. Все остальные переменные видны только в каких - то своих областях, поэтому их называют локальными. Глобальные переменные объявляются вне функций, локальные соответственно в. Наверняка, все это вы уже поняли и без меня в предыдущих уроках, так о чем я веду речь? Есть такая хитрая возможность, что если в области видимости какой - то переменной, объявить другую переменную с тем же именем, то пока не закончится область видимости последней объявленной переменной вы будете работать с ней.
Пример на области видимости:

int a = 1;
void my_function(int b)
{
cout< 3)
{
cout<
Надеюсь, я достаточно осветил тему областей видимости и вы можете смело переходить к следующему уроку.


Области видимости в Java

  • Никита

    Очень подробно все написано, хорошее изложение. наконец-то я понял отличие между глобальными и локальными переменными.

Научиться программировать

  • на Delphi

  • на Java

  • на C++

geekbrains.ru/
geekbrains.ru/