C typedef
В языке C естьtypedefключевое слово, с помощью которого можно дать типу новое имя. В следующем примере определяется обозначение для однобайтового числаBYTE:
typedef unsigned char BYTE;
После этого определения типа идентификатор BYTE можно использовать как тип.unsigned charсокращения, например:
BYTE b1, b2;
По соглашению в определении используются заглавные буквы, чтобы напомнить пользователям, что имя типа — это символьное сокращение, но можно также использовать строчные буквы, как показано ниже:
typedef unsigned char byte;
Вы также можете использоватьtypedefчтобы дать новое имя определяемому пользователем типу данных. Например, можно применить typedef к struct, чтобы определить новое имя типа данных, а затем использовать этот новый тип данных для непосредственного определения переменных struct, как показано ниже:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
书标题 : C 教程 书作者 : Example 书类目 : 编程语言 书 ID : 12345
typedef против #define
#define— это директива C, используемая для определения псевдонимов для различных типов данных, аtypedefаналогичен, но у них есть следующие различия:
- typedefОграничен определением символьных имён для типов,#defineОн может определять не только псевдонимы для типов, но и псевдонимы для значений; например, можно определить 1 как ONE.
- typedefинтерпретируется компилятором,#defineИнструкция обрабатывается препроцессором.
Ниже приведён простейший пример использования #define:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
TRUE 的值: 1 FALSE 的值: 0Другие расширения