Ниже перечисляются спецификаторы класса памяти: Спецификатор-класса-памяти: AUTO STATIC EXTERN REGISTER TYPEDEF Спецификатор TYPEDEF не реализует памяти и называется"спецификатором класса памяти" только по синтаксическим со-ображениям; это обсуждается в п. 16.8. Смысл различных клас-сов памяти был обсужден в п. 12. Описания AUTO, STATIC и REGISTER служат также в качествеопределений в том смысле, что они вызывают резервированиенужного количества памяти. В случае EXTERN должно присутст-вовать внешнее определение (п. 18) Указываемых идентификато-ров где-то вне функции, в которой они описаны. Описание REGISTER лучше всего представлять себе как опи-сание AUTO вместе с намеком компилятору, что описанные такимобразом переменные будут часто использоваться. Эффективнытолько несколько первых таких описаний. Кроме того, в регис-трах могут храниться только переменные определенных типов;на PDP-11 это INT, CHAR или указатель. Существует и другоеограничение на использование регистровых переменных: к нимнельзя применять операцию взятия адреса &. При разумном ис-пользовании регистровых описаний можно ожидать полученияменьших по размеру и более быстрых программ, но улучшение вбудущем генерирования кодов может сделать их ненужными. Описание может содержать не более одного спецификаторакласса памяти. Если описание не содержит спецификатора клас-са памяти, то считается, что он имеет значение AUTO, еслиописание находится внутри некоторой функции, и EXTERN в про-тивном случае. исключение: функции никогда не бывает автома-тическими.