Архив выпускников
 
Уважаемые гости нашего сайта!

Мы рады приветствовать Вас!

Спешим сообщить Вам, этот сайт планировался как место встречи выпускников ТРТИ/ТРТУ/ТТИ ЮФУ, но не стал таковым.

Не теряйте друзей! Будьте на связи!


и DIR.H, и что программы включают эти файлы, а не помещают фактические описания внутрь самих программ. 8.7. Пример - расп апишите функции _FLUSHBUF и FCLOSE. Упражнение 8-5 -------------
ь" для ввода и возвращения
   символов; BUF и BUFP должны быть статическими, чтобы они не были
   доступны извне. Точно так же функции PUSH, POP и CLEAR формируют модуль
   обработки стека; VAR и SP тоже должны быть внешними статическими.
    4.7. Регистровые переменные

   Четвертый и последний класс памяти называется регистро- вым. Описание
   REGISTER указывает компилятору, что данная пе- ременная будет часто
   использоваться. Когда это возможно, пе- ременные, описанные как
   REGISTER, располагаются в машинных регистрах, что может привести к
   меньшим по размеру и более быстрым программам. Описание REGISTER
   выглядит как REGISTER INT X; REGISTER CHAR C; и т.д.; часть INT может
   быть опущена. Описание REGISTER мож- но использовать только для
   автоматических переменных и фор- мальных параметров функций. В этом
   последнем случае описания выглядят следующим образом: F(C,N) REGISTER
   INT C,N; { REGISTER INT I; ... } На практике возникают некоторые
   ограничения на регистро- вые переменные, отражающие реальные
   возможности имеющихся аппаратных средств. В регистры можно поместить
   только нес- колько переменных в каждой функции, причем только
   определен- ных типов. В случае превышения возможного числа или исполь-
   зования неразрешенных типов слово REGISTER игнорируется. Кроме того
   невозможно извлечь адрес регистровой переменной (этот вопрос
   обсуждается в главе 5). Эти специфические огра- ничения варьируются от
   машины к машине. Так, например, на PDP-11 эффективными являются только
   первые три описания REGISTER в функции, а в качестве типов допускаются
   INT, CHAR или указатель.
    4.8. Блочная структура

   Язык "C" не является языком с блочной структурой в смыс- ле PL/1 или
   алгола; в нем нельзя описывать одни функции внутри других. Переменные
   же, с другой стороны, могут определяться по методу блочного
   структурирования. Описания переменных (вклю- чая инициализацию) могут
   следовать за левой фигурной скоб- кой,открывающей любой оператор, а не
   только за той, с кото- рой начинается тело функции. Переменные,
   описанные таким об- разом, вытесняют любые переменные из внешних
   бл

ставляет собой последовательность внеш- них определений. Внеш


Страница помощи