Лекция: Глобальные и локальные объекты

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

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

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

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

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

{

int k=l;

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

main()

{

int i;

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

}


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

 

к=
к=
к=
к=
к=
к=

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

Пример

 

#include <stdio.h>  
int k=l;  
void autofunc(void)  
{    
  printf("\n k = %u' ', k);
  k=k+l;  
}    
main()  
{ int i;  
  for (i = 0; i<=5; i + +)
  autofunc ();  
}    
еще рефераты
Еще работы по информатике