Основы программирования на языке Си. Кучин Н.В - 56 стр.

UptoLike

Составители: 

56
Глобальные переменные – это переменные, объявленные вне какой-
либо функции. В отличие от локальных переменных глобальные пере-
менные могут быть использованы в любом месте программы, но перед
их первым использованием они должны быть объявлены. Область дей-
ствия глобальной переменной – вся программа.
Использование глобальных переменных имеет свои недостатки:
– они занимают память в течение всего времени работы программы;
– использование глобальных переменных делает функции менее об-
щими и затрудняет их использование в других программах;
– использование внешних переменных делает возможным появле-
ние ошибок из-за побочных явлений. Эти ошибки, как правило, трудно
отыскать.
5.4. Классы памяти
В языке С имеется инструмент, позволяющий управлять использова-
нием памяти и , тем самым, создавать гибкие программы. Этот инстру-
мент – классы памяти. Каждая объявленная переменная принадлежит к
одному из четырех классов памяти, которые описываются следующими
ключевыми словами:
auto – автоматическая;
extern – внешняя;
static – статическая;
register – регистровая.
Тип памяти указывается модификатором – ключевым словом, сто-
ящим перед указанием типа переменной. Например,
static int sum; register int plus.
Если ключевое слово перед спецификацией типа локальной пере-
менной при ее объявлении нет, то по умолчанию она принадлежит классу
auto. Поэтому практически это слово не используется.
Автоматические переменные (auto) имеют локальную область дей-
ствия. Они известны только внутри блока, в котором определены. Дру-
гие функции могут использовать то же имя, но это должны быть пере-
менные, относящиеся к разным блокам. Автоматическая переменная
создается (под нее отводится память) при входе в блок функции. При
выходе из блока автоматическая переменная пропадает, а область памя-