Добавил:
study@slavapmk.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Все Лекции

.pdf
Скачиваний:
0
Добавлен:
12.05.2026
Размер:
15.98 Mб
Скачать

Глобальные переменные

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

Такие переменные доступны в любой из функций программы, которая описана после объявления глобальной переменной.

Отсюда следует, что имена локальных и глобальных переменных не должны совпадать.

Если глобальная переменная не проинициализирована явным образом, она инициализируется значением 0.

31

Глобальные переменные

Область действия глобальной переменной совпадает с областью видимости и простирается от точки её описания до конца файла, в котором она объявлена.

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

На практике программисты стараются избегать использования глобальных переменных и применяют их только в случае крайней необходимости.

32

Распределение памяти для переменных

Все глобальные переменные распределяются в памяти статически.

Локальные переменные размещаются в памяти динамически, при активизации подпрограммы их содержащей.

После выполнения подпрограммы память, отведенная для локальных переменных, освобождается.

33

Распределение памяти для переменных

В С++ существует четыре модификатора переменных, определяющих область видимости и время действия переменных.

Модификатор

Применение

Область

Время жизни

действия

 

 

 

 

 

 

 

auto

локальное

блок

временное

 

 

 

 

register

локальное

блок

временное

 

 

 

 

extern

глобальное

блок

временное

 

 

 

 

static

локальное

блок

постоянное

 

 

глобальное

файл

 

 

 

 

 

 

volatile

глобальное

файл

постоянное

 

 

 

 

34

Область видимости переменных

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

Если объявление происходит внутри какого-либо блока, переменная с таким же именем, объявленная вне тела блока, «прячется».

Объявление локальной переменной скрывает глобальную переменную с таким же именем.

Таким образом, все обращения к глобальной переменной в пределах области действия локального объявления вызывают обращение к локальной переменной.

35

Область видимости переменных

Что делать, если потребуется вызвать функцию, которая должна выдать в результате несколько значений?

В языке С/С++ для этого проще всего использовать так называемые функции типа void.

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

36

Область видимости переменных

Переменная находится в области видимости, если к ней можно получить доступ.

Это можно сделать с помощью операции разрешения видимости, в том случае, если она непосредственно не видима.

В языке С++ можно обращаться к глобальной переменной из любого места программы с помощью оператора разрешения области видимости.

Для этого перед именем переменной ставится префикс в виде двойного двоеточия (::).

37

Вопросы?

38

Информационные технологии

и программирование

Лекция 3. Разработка программных продуктов

Вопросы темы

Введение в продуктовую

разработку

Качество программного

обеспечения

•Современные тренды в разработке программного обеспечения

2