Delen via


C Abstracte declaraties

Een abstracte declaratie is een declaratie zonder id, bestaande uit een of meer aanwijzers, matrices of functieaanpassingen. De wijzigingsfunctie van de aanwijzer (*) gaat altijd vooraf aan de id in een declaratieprogramma; matrix ([ ]) en functie ( ( ) ) volgen de id. Als u dit weet, kunt u bepalen waar de id wordt weergegeven in een abstracte declaratie en de declaratie dienovereenkomstig interpreteren. Zie Meer complexe declaraties interpreteren voor aanvullende informatie en voorbeelden van complexe declaraties. Over het algemeen typedef kan worden gebruikt om declaraties te vereenvoudigen. Zie Typedef-declaraties.

Abstracte declaraties kunnen complex zijn. Haakjes in een complexe abstracte declaratie geven een bepaalde interpretatie op, net zoals voor de complexe declaraties in declaraties.

In deze voorbeelden ziet u abstracte declaraties:

int *         // The type name for a pointer to type int:

int *[3]      // An array of three pointers to int

int (*) [5]   // A pointer to an array of five int

int *()       // A function with no parameter specification
              // returning a pointer to int

// A pointer to a function taking no arguments and
// returning an int

int (*) ( void )

// An array of an unspecified number of constant pointers to
// functions each with one parameter that has type unsigned int
// and an unspecified number of other parameters returning an int

int (*const []) ( unsigned int, ... )

Opmerking

De abstracte declaratie die bestaat uit een set lege haakjes, ( ), is niet toegestaan omdat deze dubbelzinnig is. Het is onmogelijk om te bepalen of de impliciete id deel uitmaakt van de haakjes (in welk geval het een niet-gewijzigd type is) of vóór de haakjes (in dat geval is het een functietype).

Zie ook

Declaraties en variabelendeclaraties