Локальные переменные в функциях

 

Методы структурного программирования способствуют утверждению идеи, что функция должна быть как независимой, так и, по возможности, многократно используемой. Следовательно, функции могут иметь собственные типы данных, константы и переменные с целью придания им независимости.

Переменные, которые определяются внутри функции, называются локальными переменными. Они существуют только тогда, когда вызывается функция, в которой они описаны. Как только функция завершит выполнение, специальный код удаляет локальные переменные. Следовательно, после выполнения функции локальные переменные теряют свои значения. Код функции может создавать локальные переменные только тогда, когда исполняется функция, в которой они определены.

Несколько рекомендаций при работе с локальными перемеными:

1) используйте локальные переменные для сохранения и изменения значений параметров, которые объявляются с модификатором const;

2) не объявляйте локальную переменную с тем же именем , что и у глобальной переменной, к которой необходимо иметь доступ в функции.

 

Статические переменные в функциях

 

Язык С++ позволяет объявлять переменную как статическую, поместив ключевое слово static слева от ее типа данных. Статические переменные обычно инициализируются. Это происходит при первом вызове функции, в которой они определены. Существует ряд методов программирования, которые требуют сохранения локальных переменных между вызовами функций. Эти специальные локальные переменные называются статическими переменными.

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

С++ программа, которая показывает применение статистических локальных переменных в функциях

 

//Prim6_ .cpp

include<iostream.h>

double mean (double x)

{

static double sum=0;

static double sumx=0;

sum = sum+1;

sumx = sumx+x;

return sumx / sum;

}

main()

{

cout<<"среднее = "<<mean(2)<<endl;

cout<<"среднее = "<<mean(1)<<endl;

cout<<"среднее = "<<mean(4)<<endl;

cout<<"среднее = "<<mean(10)<<endl;

cout<<"среднее = "<<mean(11)<<endl;

return 0;

}

 

 

Выход из функций

 

Преждевременный выход из тела функции обычно происходит из-за того, что некоторые условия не позволяют выполнить операторы этой функции. В языке С++ предусмотрен оператор return для выхода из функции. Если функция имеет тип void , то можно использовать оператор return, не включая после никаких выражений. Если нужно осуществить выход из непустой функции, то оператор return должен породить значение, которое укажет результат выхода из функции.

 








Дата добавления: 2017-01-29; просмотров: 568;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.