Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Extern int ArrSize;



……..

}

………

int ArrSize = 100;

………

Когда компилятор встречает спецификатор extern, он не создает в памяти новую переменную, а пытается найти переменную ArrSize далее в этом файле, а затем в других файлах проекта. Если такая глобальная переменная находится, то она и используется в функции F. Говорят, что строка extern int ArrSize; является объявлением переменной (переменная только объявляется, но не создается в памяти), а строка int ArrSize = 100; - определением переменной, при котором создается сама переменная.

Спецификатор static позволяет определять переменные, имеющие глобальное время жизни (они существуют до конца работы программы), но ограниченную область видимости. С точки зрения области видимости static- переменные делятся на два вида:

· локальные static- переменные, определяемые внутри функций;

· внешние static- переменные, определяемые вне функций.

Локальные static- переменные определяются внутри функций и после своего определения существуют до конца работы программы, сохраняя свои значения. После завершения функции они не уничтожаются и сохраняют свои значения до следующего вызова этой функции. Область видимости таких переменных ограничена только блоком функции, в которой они определены, и в других функциях они не видны. Хорошей иллюстрацией использования локальных статических переменных является функция для получения текущего среднего значения числовой последовательности, вычисляемого в процессе ввода элементов этой последовательности:





Дата публикования: 2014-11-28; Прочитано: 195 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...