Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В языке C++ каждая функция это отдельный блок программы. Попасть в тело функции можно только с помощью вызова данной функции, то есть нельзя оператором безусловного перехода goto перейти в середину другой функции.
Как уже отмечалось выше, у каждой переменной должен быть оригинальный идентификатор, но в разных функциях (блоках) переменные могут иметь одинаковые идентификаторы.
Области действия переменных различаются на три основных типа переменных:
глобальные, локальные и формальные параметры.
Локальные переменные - это переменные объявленные внутри блока или внутри функции. В C++ возможно описание локальных переменных внутри любого блока программы. (Блок - несколько операторов заключенных в фигурные скобки) При этом переменная будет доступна только внутри того блока, внутри которого она описана. Локальная переменная существует только во время выполнения функции (блока), в которой она описана при выходе из функции (блока) эта переменная перестает существовать и ее значение теряется. Таким образом, нельзя ожидать, что данные содержащиеся в локальной переменной останутся неизменными при последующих вызовах функции. При описании локальной переменной ее начальное значение не определено, то есть она не будет равняться нулю!
main()
{
int first
...............
{
int second
}
Переменная second в этом месте не определена.
}
main()
{
int first;
...............
{
int first; // переменная отличная от first во внешнем блоке
...............
}
...............
}
Глобальные переменные - это переменные, объявленные вне какой-либо функции. В отличие от локальных переменных, глобальные переменные могут использоваться в любом месте программы, но перед их использованием они должны быть описаны.
Язык C++ гарантирует, что в отличие от локальных переменных при описании глобальных переменных без явного инициализатора значение будет равно нулю. Глобальная переменная существует в течении всего времени выполнения программы.
Область действия глобальной переменной - вся программа.
Использование глобальных переменных имеет свои недостатки:
1. они занимают память в течении всего времени работы программы
(локальные переменные освобождают память после завершения функции или блока, в которой они описаны)
2. использование глобальных переменных делает функции менее общими и затрудняет их использование в других программах.
Формальные параметры - это переменные объявленные при описании функции.
Формальные параметры могут использоваться в теле функции как локальные переменные, которыми они по сути дела и являются. Область действия формальных параметров - блок являющийся телом функции. Формальные параметры существуют только во время выполнения функции.
Пример:
#include<iostream.h>
int var1=12;// описана как глобальная переменная
main()
{
if(cout<<"\n внешний блок if() \n")
{
int var1=34;
cout<<"во внешнем блоке var1="<<var1;//34
if(cout<<"\n внутренний блок if() \n")
{
int var1=56;
cout<<"\n во внутреннем блоке var1="<<var1;//56
}
cout<<"\n во внешнем блоке var1="<<var1;//34
}
cout<<"\n в main() var1="<<var1;//12
}
Дата публикования: 2014-12-08; Прочитано: 1341 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!