Язык программирования C


         

TYPEDEF


описания, в которых "класс памяти" специфицирован как 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.




Содержание  Назад  Вперед