Urok11

Урок 11.4. Статические переменные

11.4. Статические переменные Читать далее

Урок 11.5. Регистровые переменные

11.5. Регистровые переменные

Обычно переменные хранятся в памяти машины. Описание register дает
знать транслятору, что регистровая переменная будет интенсивно использоваться.
Если возможно, регистровая переменная запоминается в регистрах центрального процессора,
где доступ к ним и работа с ними выполняется гораздо быстрее, чем в памяти.
Описание регистровых переменных выглядит так :

register int x;

register char c;

Описание register применимо лишь к автоматическим переменным и к
формальным параметрам функций. В последнем случае описание выглядит так :

f(c,n)

register int c,n;

 

{ register int i;

...

}

Переменная, которую компилятор не может разместить на регистрах (не
хватает регистров, либо значение переменной не помещается в регистре), становится
простой автоматической переменной. Кроме того, к регистровой переменной
невозможно применить операцию взятия адреса.

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

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

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

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

Урок 11.3. Внешние переменные

11.3. Внешние переменные Читать далее

Урок 11.2. Автоматические переменные

11.2. Автоматические переменные Читать далее

Translate Переводчик

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

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

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