Type Names
Type names are used in some declarators in the following ways:
- In explicit conversions
- As arguments to the sizeof operator
- As arguments to the new operator
- In function prototypes
- In typedef statements
A type name consists of type specifiers, as described in Chapter 6, Declarations and Abstract Declarators.
In the following example, the arguments to the function strcpy are supplied using their type names. In the case of the source
argument, const
char
is the specifier and *
is the abstract declarator:
static char *szBuf, *strcpy( char *dest, const char *source );
Syntax
- type-name :
type-specifier-list abstract-declaratoropt - type-specifier-list :
type-specifier type-specifier-listopt - abstract-declarator :
ptr-operator abstract-declaratoropt
abstract-declaratoropt ( argument-declaration-list ) cv-qualifier-listopt
abstract-declaratoropt [ constant-expressionopt ]
( abstract-declarator )