Type Names

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 )