ГЛАВА 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 |