Программирование на C и C++

Онлайн справочник программиста на C и C++

TYPEDEF

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

typedef тип имя;

где тип — это любой существующий тип данных, а имя - это новое имя для данного типа. Новое имя определяется в дополнение к существующему имени типа, а не замещает его. Например, можно создать новое имя для float, используя

typedef float balance;

Данный оператор сообщает компилятору о необходимости распознавания balance как другого имени для float. Далее можно создать вещественную переменную, используя balance:

balance past_due;

Здесь past_due - это вещественная переменная типа balance, другими словами - типа float. Можно использовать typedef для создания имен для более сложных типов. Например:

typedef struct {
float due;
int over_due;
char name[40];
} client; /* здесь client - это имя нового типа */

client clist[NUM_CLIENTS]; /* определение массива структур типа client */

Использование typedef может помочь при создании более легкого для чтения и более переносимого кода. Но надо помнить, что на самом деле не создаются никакие новые типы данных.