Type names are used in some declarators in the following ways:
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 )