Основы программирования для автоматизированного проектирования и решения творческих задач - 17 стр.

UptoLike

Составители: 

5 Спецификаторы класса памяти
auto
Задается только внутри блоков. Этим объектам
память выделяется при входе в блок и освобож-
дается при выходе из него автоматически. Вне
блока объекты класса auto не существуют
registe
r
Аналогичен классу auto, но для размещения зна-
чений объектов используются регистры процес-
сора, а не основная память. В случае отсутствия
свободной регистровой памяти компилятор об-
рабатывает объекты класса register подобно
классу auto
static
Статическая продолжительность существования.
Объект будет существовать в пределах файла, с
исходным текстом которого он определен. Класс
static может приписываться переменным или
функциям
extern
Такой объект глобален, то есть он создан вне
функций или блоков и доступен во всех модулях
программы. Класс может быть приписан пере-
менной или функции
В языке С определены три типа области действия идентификаторовблок, функция и файл. Об-
ласть действия идентификаторов представляет собой часть программы, в которой идентификатор может
быть использован для доступа к описываемому объекту. Если идентификатор определен в блоке или
функции, то область его действияот точки описания до конца блока или функции. Файл с текстом
программы является сферой действия всех глобальных имен, т.е. имен объектов, описанных вне любых
функций. Каждое глобальное имя действует от точки описания, до конца файла. С их помощью удобно
связывать функции по данным, т.е. создавать "общее поле данных".
Имена переменных и функций, названия определенных пользователем типов и имена элементов пе-
речислений должны быть уникальными в границах своей области действия.
Модификаторы способны задать программному объекту особые свойства. Они перечислены в табл.
6.
6 Модификаторы языка С
сonst
Значение переменной нельзя изменять во время
работы программы. Оно должно быть задано
инициализацией при определении
volati
le
Значение объекта может быть изменено в проме-
жутках между явными обращениями к нему в
программе
Инициализатор способен задать начальное значение переменной еще на стадии компиляции. Он от-
деляется от имени объекта знаком присваивания. Для объектов, определенных вне функций и блоков,
инициализатором может выступать константа или уже созданная и инициализированная переменная со-
ответствующего типа. Если же объект локален, то в качестве инициализатора может выступать еще и
выражение, возвращающее результат соответствующего объекту типа.
9 ОПЕРАЦИИ ВВОДА-ВЫВОДА В ЯЗЫКЕ С