Typnamen
Typnamen werden in einigen Deklaratoren folgendermaßen verwendet:
In expliziten Konvertierungen
Als Argumente für den sizeof-Operator
Als Argumente für den new-Operator
In Funktionsprototypen
In typedef-Anweisungen
Ein Typname besteht aus Typspezifizierern wie int oder dem Namen einer Klasse oder Struktur in Kombination mit einem abstrakten Deklarator, wie er unter Deklarationen und Abstrakte Deklaratoren beschrieben wird. Der abstrakte Deklarator sorgt dafür, dass der Basistyp so geändert wird, dass er einen Zeiger, Verweis oder einen Arraytyp erzeugt. Er ist nicht erforderlich, wenn ein skalarer Typ angegeben wird.
Im folgenden Beispiel werden die Argumente für die strcpy_s-Funktion anhand ihrer Typnamen angegeben. Im Fall des strSource-Arguments ist const char der Typspezifizierer und * der abstrakte Deklarator:
errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource );