Язык С

TYPEDEF


Описания, в которых "класс памяти"специфицирован как TYPEDEF, не вызывают выделения памяти. вместо этого они оп- ределяют идентификаторы ,которые позднее можно использовать так, словно они являются ключевыми словами, имеющими основ- ные или производные типы. Определяющее-тип-имя идентификатор

В пределах области действия описания со спецификатором TYPEDEF каждый идентификатор, являющийся частью любого опи- сателя в этом описании, становится синтаксически эквивалент- ным ключевому слову, имеющему тот тип , который ассоциирует с идентификатором в описанном в п. 16.4 Смысле. Например, после описаний

TYPEDEF INT MILES, >KLICKSP; TYPEDEF STRUCT ( DOUBLE RE, IM; ) COMPLEX;

конструкции

MILES DISTANCE; EXTERN KLICKSP METRICP; COMPLEX Z, *ZP;

становятся законными описаниями; при этом типом DISTANCE яв- ляется INT, типом METRICP - "указатель на INT", типом Z - специфицированная структура и типом ZP - указатель на такую структуру. Спецификатор TYPEDEF не вводит каких-либо совершенно но- вых типов, а только определяет синонимы для типов, которые можно было бы специфицировать и другим способом. Так в при- веденном выше примере переменная DISTANCE считается имеющей точно такой же тип, что и любой другой объект, описанный в INT.



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