ВУЗ:
Составители:
Рубрика:
extern – глобальная переменная, она находится в другом месте про-
граммы (в другом файле или долее по тексту). Используется для созда-
ния переменных, которые доступны во всех файлах программы.
static – статическая переменная, она существует только в пределах
того файла, где определена переменная.
register – аналогичны auto, но память под них выделяется в реги-
страх процессора. Если такой возможности нет, то переменные обраба-
тываются как auto.
Пример 15.
int a; //глобальная переменная
void main(){
int b;//локальная переменная
extern int x;//переменная х определена в другом
месте
static int c;//локальная статическая переменная
a=1;//присваивание глобальной переменной
int a;//локальная переменная а
a=2;//присваивание локальной переменной
::a=3;//присваивание глобальной переменной
}
int x=4;//определение и инициализация х
В примере переменная а определена вне всех блоков. Областью
действия переменной а является вся программа, кроме тех строк, где ис-
пользуется локальная переменная а. Переменные b и с – локальные, об-
ласть их видимости – блок. Время жизни различно: память под b выде-
ляется при входе в блок (т.к. по умолчанию класс памяти auto), освобо-
ждается при выходе из него. Переменная с (static) существует, пока ра-
ботает программа.
Если при определении начальное значение переменным не задается
явным образом, то компилятор обнуляет глобальные и статические
переменные. Автоматические переменные не инициализируются.
Имя переменной должно быть уникальным в своей области действия.
Описание переменной может быть выполнено или как объявление,
или как определение. Объявление содержит информацию о классе памя-
ти и типе переменной, определение вместе с этой информацией дает
указание выделить память. В примере 15 строка extern int x; является
объявлением, а остальные – определениями.
112
Страницы
- « первая
- ‹ предыдущая
- …
- 110
- 111
- 112
- 113
- 114
- …
- следующая ›
- последняя »
