Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
03.04.2015
Размер:
700.42 Кб
Скачать

ГЛАВА 7. ПРОГРАММИРОВАНИЕ.

ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

§7.9. Язык высокого уровня Си: глобальные и локальные объекты

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

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

30.06.19 Доцент С.Т. Касюк

2

В Си существует понятие времени жизни объекта, которое бывает глобальным или локальным. Объект

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

сним связана определённая ячейка оперативной памяти и какое-то значение. Объекту с локальным временем жизни выделяется новая

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

30.06.19 Доцент С.Т. Касюк

3

Пример программы:

#include <stdio.h> void autofunc(void)

{

int k=1;

printf("\n k = %u", k); k=k+1;

}

main()

{

int i;

for(i = 0; i<=5; i++) autofunc();

}

30.06.19 Доцент С.Т. Касюк

4

Результат работы программы k = 1

k = 1 k = 1 k = 1 k = 1 k = 1

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

30.06.19 Доцент С.Т. Касюк

5

Пример

#include <stdio.h> int k=1;

void autofunc(void)

{

printf("\n k = %u", k); k=k+1;

}

main()

{

int i;

for (i = 0; i<=5; i++) autofunc();

}

30.06.19 Доцент С.Т. Касюк

6

Результат работы программы k = 1

k = 2 k = 3 k = 4 k = 5

30.06.19 Доцент С.Т. Касюк

7