Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Существует одно исключение из этого правила. Если в extern-объявлении переменнаяИнициализируется, то такое extern-объявление становится определением. Это очень важный Момент, поскольку любой объект может иметь несколько объявлений, но только одно определение. extern int first, last; // Использование глобальных переменных. cout << first << " " << last << "\n"; Return 0; } // Глобальное определение переменных first и last. int first = 10, last = 20; Переменные типа static — это переменные "долговременного" хранения, т.е. они хранят свои значения в пределах своей функции или файла. От глобальных они отличаются тем, что за рамками своей функции или файла они неизвестны. Поскольку спецификатор static по-разному определяет "судьбу" локальных и глобальных переменных, мы рассмотрим их в отдельности Локальная static-переменная поддерживает свое значение между вызовами функции. Если к локальной переменной применен модификатор static, то для нее выделяется Постоянная область памяти практически так же, как и для глобальной переменной. Это Позволяет статической переменной поддерживать ее значение между вызовами функций. (Другими словами, в отличие от обычной локальной переменной, значение static-переменной не Теряется при выходе из функции.) Ключевое различие между статической локальной и Глобальной переменными состоит в том, что статическая локальная переменная известна только Блоку, в котором она объявлена. Таким образом, статическую локальную переменную в Некоторой степени можно назвать глобальной переменной, которая имеет ограниченную Область видимости. static int count = 200; Локальные static-переменные инициализируются только однажды Int r_avg(int i); Int main() { Int num; do { cout << "Введите числа (-1 означает выход): "; cin >> num; if(num!= -1) cout << "Текущее среднее равно: " << r_avg(num); cout << '\n'; }while(num > -1); Return 0; } // Вычисляем текущее среднее. Int r_avg(int i) { static int sum=0, count=0; sum = sum + i; count++; return sum / count;
|