Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Область видимости и класс памяти.

Структура программы. Директивы. Переменные и константы. | Типы данных. Преобразования типов. | Циклы и ветвления | Синтаксис определения структуры, структурной переменной. Доступ к полям структуры, присвоение структурных переменных. | Синтаксис определения, инициализация указателя на структуру. Работа с полями структуры через указатели. | Определение функции. Передача аргументов и возврат значения по значению, ссылке и указателю. Аргументы по умолчанию. Константы аргументов функции. | Принципы ООП. Инкапсуляция. Наследование. Полиморфизм. | Конструкторы и деструкторы. Конструкторы копирования по умолчанию. | Объекты как аргументы методов и доступ к их числам. | Размещение в памяти членов объектов одного класса и способ создания общих полей (св-в). |


Читайте также:
  1. A.1. Классификация интерфейсов
  2. Adding initializers to a class Добавление инициализаторами к классу
  3. CASE-средства. Общая характеристика и классификация
  4. Defining and instantiating classes Определение и создание экземпляра классы
  5. I класс
  6. I. Область применения
  7. I. Общие требования и область применения

Область видимости определяет, из каких частей программы возможен доступ к переменной, а класс памяти — время, в течение которого переменная существует в памяти компьютера.

Переменные, имеющие локальную область видимости, доступны внутри того блока, в котором они определены.

Переменные, имеющие область видимости файла, доступны из любого места файла, в котором они определены.

Существует два класса памяти: automatic (автоматический) и static (статический).

У переменных, имеющих класс памяти automatic, время жизни равно времени жизни функции, внутри которой они определены.

У переменных, имеющих класс памяти static, время жизни равно времени жизни всей прог-ы.

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

Если явной инициализации глобальной переменной не происходит, например, при определении переменной: int exvar; то в момент создания этой переменной ей автоматически будет присвоено значение, равное 0. В этом состоит различие между локальными и глобальными переменными.

Время жизни у статических локальных переменных совпадает со временем жизни глобальных переменных, правда, с той разницей, что существование статической локальной переменной начинается при первом вызове ф-ии, к которой она принадлежит.

Статические локальные переменные используются в тех случаях, когда необходимо сохранить значение переменной в памяти после того, как выполнение функции будет завершено.

 


Дата добавления: 2015-08-17; просмотров: 74 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Перегруженные функции. Встроенные функции. Рекурсивные функции.| Объявление и инициализация одномерного и двумерного массивов. Работа с элементами массива через указатель.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)