Язык С

Препроцессор


#DEFINE идентификатор строка-лексем #DEFINE #DEFINE идентификатор(идентификатор,...,идентификатор)стр #UNDEF идентификатор #INCLUDE "имя-файла" #INCLUDE <имя-файла>

#IF константное-выражение #IFDEF идентификатор #IFNDEF идентификатор #ELSE #ENDIF #LINE константа идентификатор

Последние изменения языка "C" (15 ноября 1978 г.)

27. Присваивание структуры Структуры могут быть присвоены, переданы функциям в ка- честве аргументов и возвращены функциям. Типы участвующих операндов должны оставаться теми же самыми. Другие правдопо- добные операторы, такие как сравнение на равенство, не были реализованы. В реализации возвращения структур функциями на PDP-11 имеется коварный дефект: если во время возврата происходит прерывание и та же самая функция пеентерабельно вызывается во время этого прерывания, то значение возвращаемое из пер- вого вызова, может быть испорчено. Эта трудность может воз- никнуть только при наличии истинного прерывания, как из опе- рационной системы, так и из программы пользователя, прерыва- ния, которое существенно для использования сигналов; обычные рекурсивные вызовы совершенно безопасны. 28. Тип перечисления Введен новый тип данных,аналогичный скалярным типам язы- ка паскаль. К спецификатору-типа в его синтаксическом описа- нии в разделе 8.2. Приложения а следует добавить

спецификатор-перечисления -------------------------

с синтаксисом

пецификатор-перечисления: ------------------------- ENUM список-перечисления ------------------- ENUM идентификатор список-перечисления ------------- ------------------- ENUM идентификатор ------------- cписок-перечисления: ------------------- перечисляемое ------------- список-перечисления, перечисляемое ------------------- ------------- перечисляемое: -------------- идентификатор ------------- идентификатор = константное выражение ------------- ---------------------

Роль идентификатора в спецификаторе-перечисления пол- ностью аналогична роли ярлыка структуры в спецификато- ре-структуры; идентификатор обозначает определенное перечис- ление. Например, описание


ENUM COLOR \(RED, WHITE, BLACK, BLUE \); . . . ENUM COLOR *CP, COL;

Объявляет идентификатор COLOR ярлыком перечисления типа, описывающего различные цвета и затем объявляет CP указателем на объект этого типа, а COL - объектом этого типа. Идентификаторы в списке-перечисления описываются как константы и могут появиться там, где требуются (по контекс- ту) константы. Если не используется вторая форма перечисляе- мого (с равеством =), то величины констант начинаются с 0 и возрастают на 1 в соответствии с прочтением их описания сле- ва на право. Перечисляемое с присвоением = придает соответс- твующему идентификатору указанную величину; последующие идентификаторы продолжают прогрессию от приписанной величи- ны. Все ярлыки перечисления и константы могут быть различны- ми и непохожими на ярлыки и члены структур даже при условии использования одного и того же множества идентификаторов. Объекты данного типа перечисления рассматриваются как объекты, имеющие тип, отличный от любых типов и контролирую- щая программа LINT сообщает об ошибках несоответствия типов. В реализации на PDP-11 со всеми перечисляемыми переменными оперируют так, как если бы они имели тип INT. 29. Таблица изображений непечатных символов языка "C". В данной таблице приведены изображения некоторых симво- лов (фигурные скобки и т.д.) языка "C", которых может не оказаться в знаковом наборе дисплея или печатающего устройс- тва. ------------------------------------------------- ! Значение ! Изображение ** ! ! ! В тексте ! ------------------------------------------------- ! Фигурная открывающаяся ! ! ! Скобка ! \( ! ! ! ! ------------------------------------------------- ! Фигурная закрывающаяся ! ! ! Скобка ! \) ! ! ! ! ------------------------------------------------- ! Вертикальная ! ! ! Черта ! \! ! ! ! ! ------------------------------------------------- ! ! ! ! Апостороф ! \' ! ! ! ! ------------------------------------------------- ! Волнистая ! ! ! Черта ! \^ ! ! ! ! -------------------------------------------------

** П_р_и_м_е_ч_а_н_и_е: Изображения приведены для операционой системы UNIX. При работе компилятора "C" под управлением любой другой операци- онной системы, необходимо воспользоваться соответствующим руководством для данной системы. Обращений с начала месяца: 276, Last-modified: Sun, 31 Aug 2003 05:43:18 GMT Оцените этот текст:Не читал10987654321


Содержание раздела