Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
2.4. Область видимости переменных
В предыдущих примерах часто объявлялись и использовались различные переменные. При этом важно знать, когда эти переменные доступны для использования или другими словами определить их область видимости. Рассмотрим такой пример.
В этом примере объявляются две переменные i и k. Причем переменная k объявлена внутри цикла for. Спрашивается можно ли ее использовать и за пределами этого цикла? В данном случае ответ будет отрицательный, т.к. переменная k «пропадает» за пределами тела цикла и существует только внутри него. Условия данного примера можно обобщить и сказать, что обычная переменная объявленная внутри фигурных скобок {} видна только в них и не может быт использована за их пределами. По этой причине переменные объявленные, например, внутри функции main() недоступны в других функциях и наоборот. Однако если объявить переменную вначале программы, а не внутри функции, то они становятся доступными всем функциям и будут иметь глобальную область видимости. Такие переменные называются глобальными. Следующий пример показывает объявление и использование глобальных переменных.
Результатом выполнения программы будет следующий текст:
В этом примере объявлена глобальная переменная global_var, которая может использоваться и в функции main() и в функции my_func() и соответственно менять свое значение. В языке С++ можно задавать переменные с одинаковыми именами и типами если они принадлежат разной области видимости. Например, можно задать глобальную переменную var типа int и такую же переменную внутри функции main(). В этом случае простое обращение к переменной по ее имени будет означать работу с локальной переменной, а если необходимо работать с глобальной, то перед ее именем необходимо поставить два двоеточия ‘::’. Следующий пример показывает такой способ работы с переменными.
В результате получим
В языке С++ можно задавать класс переменных, которые будучи объявленными внутри фигурных скобок {} не исчезают и за их пределами, но в то же время имеют область видимости только внутри них. Класс таких переменных называется статическим и задается с помощью ключевого слова static. Поясним сказанное на следующем примере.
В результате на экране появятся следующие строчки:
Анализ полученных результатов показывает, что статическая переменная var_st объявленная внутри функции iter() не исчезает после ее завершения и при повторном вызове функции не инициализируется заново, т.к. она уже существует. В языке С++ переменную можно задать как константу, т.е. ее значение нельзя изменять в процессе выполнения программы. Это бывает полезно, когда программист хочет обеспечить «защиту» переменной от изменения. Это достигается путем использования ключевого слова const, которое ставится перед типом переменной:
Например, ранее рассмотренная функция strcpy() копирования одной строки в другую принимает следующие параметры:
Здесь идентификатор const гарантирует, что строка src не будет изменена внутри функции strcpy(). Видео по теме
|
1 |
Оглавление
|