Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
……..
}
………
int ArrSize = 100;
………
Когда компилятор встречает спецификатор extern, он не создает в памяти новую переменную, а пытается найти переменную ArrSize далее в этом файле, а затем в других файлах проекта. Если такая глобальная переменная находится, то она и используется в функции F. Говорят, что строка extern int ArrSize; является объявлением переменной (переменная только объявляется, но не создается в памяти), а строка int ArrSize = 100; - определением переменной, при котором создается сама переменная.
Спецификатор static позволяет определять переменные, имеющие глобальное время жизни (они существуют до конца работы программы), но ограниченную область видимости. С точки зрения области видимости static- переменные делятся на два вида:
· локальные static- переменные, определяемые внутри функций;
· внешние static- переменные, определяемые вне функций.
Локальные static- переменные определяются внутри функций и после своего определения существуют до конца работы программы, сохраняя свои значения. После завершения функции они не уничтожаются и сохраняют свои значения до следующего вызова этой функции. Область видимости таких переменных ограничена только блоком функции, в которой они определены, и в других функциях они не видны. Хорошей иллюстрацией использования локальных статических переменных является функция для получения текущего среднего значения числовой последовательности, вычисляемого в процессе ввода элементов этой последовательности:
Дата публикования: 2014-11-28; Прочитано: 195 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!