Chapter 8. Type and Constant Definitions

Table of Contents

Typedef
Enumerations
Inlines
Type Namespaces

Typedef

The typedef keyword is used to declare an identifier as an alias for an existing type. Like all D type declarations, the typedef keyword is used outside probe clauses in a declaration of the form:

typedef existing-type new-type ;

where existing-type is any type declaration and new-type is an identifier to be used as the alias for this type. For example, the declaration:

typedef unsigned char uint8_t;

is used internally by the D compiler to create the uint8_t type alias. Type aliases can be used anywhere that a normal type can be used, such as the type of a variable or associative array value or tuple member. You can also combine typedef with more elaborate declarations such as the definition of a new struct:

typedef struct foo {
	int x;
	int y;
} foo_t;

In this example, struct foo is defined as the same type as its alias, foo_t. Solaris C system headers often use the suffix _t to denote a typedef alias.