Операционная система UNIX. Руководство программиста

       

Определяемые типы


Описания, содержащие "спецификатор класса памяти" typedef, не вызывают отведение памяти, но определяют идентификаторы, которые можно в дальнейшем использовать наравне с ключевыми словами, обозначающими базовые или производные типы.

имя_определяемого_типа: идентификатор

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

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.



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