Лекция: Void F ( int i )

{

int j = 20;

if ( i == 10 )

{

double Pi = 3.14;

……..

}

}

 

В этой функции все переменные (i, j, Pi) являются локальными автоматическими объектами. Переменные i иj создаются в памяти в начале выполнения функции и уничтожаются при выходе из функции. Время жизни и область видимости этих переменных одинаковы и соответствуют всему телу функции. Переменная Pi создается в памяти, когда начинает выполняться соответствующий блок инструкции if, и уничтожаются при выходе из этого блока.

Спецификатор register используется довольно часто для увеличения быстродействия программы. Этот спецификатор “просит” компилятор поместить соответствующую переменную в памяти так, чтобы доступ к ней осуществлялся как можно быстрее. Регистровые переменные размещаются либо в регистрах процессора, либо в кэш-памяти компьютера. Поскольку объем такой памяти ограничен, компилятор эту “просьбу” может и не выполнить. В этом случае регистровые переменные создаются как обычные автоматические переменные. Пример определения регистровой переменной:

 

register double d = 1.23;

 

С помощью спецификатора класса памяти extern осуществляется обращение к глобальным переменным, определенным либо в других файлах проекта, либо далее в этом же файле. Например:

 

Void F ()

{

еще рефераты
Еще работы по информатике