Локальные переменные
Локальные
переменные объявлены внутри функций и
видны только в них самих:
void
f1 ()
{
int
a; // объявление переменной
f2();
}
void
f2 ()
{
a
= 3; // ошибка, отсутствует объявление
переменной
}
У
каждой функции есть своя область
видимости. В область видимости функции
входят все глобальные переменные и
переменные объявленные в этой функции.
Механизм
передачи значений через аргументы и
return предназначен как раз для локальных
переменных:
int
x; // глобальная переменная
void
f1 ()
{
int
a = 5;
int
b = 3;
int
t = 1;
x
= 5;
int
c = f2(b,a);
}
int
f2(int a, int t)
{
int
b = 1;
return
a+t+x;
}
Обе
функции видят переменную x, т.к. она
глобальная.
У
каждой функции свои переменные a,b,t. У
f1 a=5,b=3,t=1, а у f2 a=3,t=5,b=1. Несмотря на то, что
у этих функций есть переменные с
одинаковыми идентификаторами, это
всё-таки совершенно разные переменные.
Будьте бдительны!
Переменной
c будет присвоено значение 13.