Область действия переменных
Каждая переменная
до использования должна быть описана.
Локальные
переменные.
Переменные, объявленные в теле функции,
являются локальными переменными этой
функции. Формальные параметры подпрограммы,
также считаются локальными
для этой подпрограммы. Областью действия
локальной переменной является блок, в
котором эта переменная объявлена.
Глобальные
переменные.
Глобальные переменные объявляются до
всех функций или между определениями
функций. Областью действия глобальной
переменной является вся программа.
Глобальные
переменные доступны из любой функции
программы, где не объявлены локальные
переменные с такими же именами. Однако
не рекомендуется использовать их для
обмена данными между функциями, т.к. это
затрудняет отладку программы. Могут
возникнуть трудно обнаруживаемые ошибки
из-за того, что любая функция может
изменить любую глобальную переменную.
Рекомендуется, чтобы прототип функции
полностью определял ее сопряжение с
другими функциями.
Контрольные
вопросы и упражнения.
1. Что указывается
в заголовке функции? Чем отличается
определение функции от объявления
функции?
2. Что такое прототип
функции и когда он необходим в программе?
3. Объясните различие
между передачей параметров по значению
и передачей параметров по ссылке.
4. В чем особенность
передачи параметра, являющегося массивом?
5. В чем отличие
между локальными и глобальными
переменными?
6. Какие переменные
доступны в функциях main(),
f1(),
f2()?
int z;
f1 (float t)
{ int x, y;
…
}
char s[80];
int f2 (int n, char m[])
{int k=0,
p=1, z ;
…
}
void main ( )
{ float b;
int k, nom;
gets (s);
f1 ( b );
k= f2 ( nom, s );
}
7.
Напишите определение функции, обменивающей
местами значения переменных x, y.
86