При компиляции объявленные в пределах функции M u ltip ly N u m b e rs () переменные ликвидируются по завершении функции, и если они используются в функции m ain (), то происходит ошибка, поскольку переменные не были объявлены в ней.
Если в функции main () объявить другой набор переменных с теми же имена ми, то не надейтесь, что они будут содержать то значение, которое, возможно, было присвоено им в функции MultiplyNumbers ().
Компилятор рассматривает переменные в функции main () как независимые сущности, даже если их имена совпадают с именами переменных, объявленных
другой функции, поскольку эти переменные разграничиваются своими об ластями видимости.
Глобальные переменные
Если бы переменные, используемые в функции M u ltip ly N u m b e rs () листинга 3.2, были объявлены не в ней, а вне ее, то они были бы пригодны для использования и в функ ции m ain (), и в функции M u ltip ly N u m b e rs (). Листинг 3.3 демонстрирует глобальные переменные (global variable), имеющие самую широкую область видимости в программе.
ЛИСТИНГ 3.3. Использование глобальных переменных_______________________________
#include
using namespace std;
// три глобальных целых числа
int FirstNumber = 0;
int SecondNumber = 0;
int MultiplicationResult = 0;
8 :
Do'stlaringiz bilan baham: |