Справочная система C guide



Содержание


Регистровые переменные

Пр и м е р

{

register mt у;

}"

Регистровые переменные являются временными, их значения сохраняются в регистрах, если последние доступны. Доступ к регистровым переменным более быстрый. В регистрах можно сохранять любые переменные, если размер занимаемой ими памяти не превышает разрядности регистра. Если компилятор не может сохранить переменные в регистрах, он трактует их как автоматические. Областью действия является блок. Операция получения адреса & не применима к регистровым переменным.

Формальные параметры Пр им ёры

mt func(x), int func(x) int x; register int x;

^ i

} }

Формальные параметры являются временными, так как получают значения фактических параметров, передаваемых функции. Областью действия является блок функции. Формальные параметры должны отличаться по именам от внешних переменных и локальных переменных, определенных внутри функции. В блоке функции формальным параметрам могут быть присвоены некоторые значения.

Описания 49

Статические переменные Пример

{ static int flag,

}"

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

7.9. Определение глобальных переменных

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

int Global_flag;

Определяются на том же уровне, что и функции, т. е. не локальны ни в каком блоке. Постоянные. Инициализируются нулем, если явно не задано другое начальное значение. Областью действия является вся программа. Должны быть описаны во всех файлах программы, в которых к ним есть обращения. 3 амечание. Некоторые компиляторы требуют, чтобы глобальные переменные UHggonpenei^ лены только в одном файле и описаны как внешние вдругахфай-лах, где они используются (см. с. 51). Должны быть описаны в файле до первого использования. Статические переменные Пр и м е р

static mt File _ flag;

Постоянные. Областью действия является файл, в котором данная переменная определена. Должны быть описаны до первого использования в файле.




Содержание  Назад  Вперед