Время жизни и область видимости переменной

Лабораторная работа №4

Программирование пользовательских функций.

Цель работы:

1. Изучить методы создания и использования функций.

  1. Получить навыки работы с функциями и передачи им параметров по значению.

Теоретические сведения.

Функцией называется выделенная последовательность инструкций, предназначенных для решения определенной задачи. Ранее мы уже использовали библиотечные функции ввода-вывода printf() и scanf(), в данной лабораторной работе познакомимся с правилами создания своих (пользовательских) функций.

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

Функция может многократно вызываться из различных частей программы, в

общем случае она выполняет следующие действия:

· получает параметры;

· выполняет инструкции, согласно заложенному алгоритму;

· может возвращать результат в вызывающую программу.

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

Время жизни и область видимости переменной.

Время жизни и область видимости переменной связаны с блоком программы, в языке С различают два вида программных блоков:

· составной оператор;

· определение функции.

Время жизни переменной - это интервал времени выполнения программы, в течение которого переменная существует. Время жизни переменной может быть локальным или глобальным.

Глобальная переменная существует на протяжении всего времени выполнения программы.

Локальная переменная существует только во время выполнения блока, в котором она определена.

Область видимости переменной - это та часть программы, в которой к ней можно обратиться (в которой переменная доступна).

Переменная может быть видима в пределах:

· блока;

· модуля (файла);

· во всех модулях (если программа располагается в нескольких файлах).

Область видимости переменной зависит от того, в каком месте программы (на каком уровне) она объявлена. Если переменная объявляется вне всех блоков программы (обычно вначале программы, до функции main()), то это внешнее объявление (глобальная переменная).

Внутри блока или функции объявляются локальные переменные.

При каждом входе в блок (или функцию) локальная переменная создается (для неё выделяется память), а при выходе из блока переменная уничтожается.

Пример 1:

int q=0; // глобальная переменная q

void main()

{int i=0; // локальная переменная функции main()

q++;// глобальные переменные доступны во всех блоках и функциях

{// _____________начало вложенного блок

int k,l; // локальные переменные вложенного блока

i++; // локальные переменные из объемлющего блока (функция main) доступны во вложенном блоке

q++; k++; l++;

}//_____________конец вложенного блок

k++ // ошибка!!! переменной k уже нет

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: