Урок 11.1. Понятие класса памяти

11.1. Понятие класса памяти

Мы уже знакомы с понятием локальной и глобальной перемнной. Локальные переменные известны только функциям, в теле которых они описаны. Причем, если в одной программе используются две разные функции, в теле которых описана переменная с одним и тем же именем, то они воспринимаются компилятором как две разные локальные переменные и в разных функциях они имеют различные значения. При выходе из функции, значение локальной переменной становится недоступным. О глобальных переменных "знают" несколько функций, если они описаны вне любого определения функций. Значение глобальной переменной сохраняется при переходе от функции к функции. Каждая переменная в программе имеет тип. Кроме того, каждая переменная принадлежит к некоторому классу памяти. Класс памяти позволяет установить два факта. Во-первых, определить, какие функции имеют доступ к переменной. ( Пределы доступности переменной характеризуют ее область действия ). Во-вторых, определить, как долго переменная находится в памяти. В языке Си имеется четыре класса памяти: автоматический, статический, внешний и регистровый. Определение класса памяти переменной зависит от того, где переменная описана и какое ключевое слово используется. Ниже приводится таблица свойств классов памяти.

Класс памяти Ключевое слово Продолжительность
существования
Область действия
Автоматический auto Временно Локальная
Регистровый register Временно Локальная
Статический static Постоянно Локальная
Внешний extern Постоянно Глобальная (все
файлы)
Внешний статический static Постоянно Глобальная (один
файл)
рассказать друзьям и получить подарок

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Translate Переводчик

Подписка на новости

SmartResponder.ru
Ваш e-mail: *
Ваше имя: *

Хостинг для Wordpress сайтов