Aracılığıyla paylaş


C Soyut Bildirimciler

Soyut bildirimci, tanımlayıcısı olmayan, bir veya daha fazla işaretçiden, diziden veya işlev değiştiricisinden oluşan bir bildirimcidir. İşaretçi değiştiricisi (*), tanımlayıcıdan önce her zaman bir bildirimcide yer alır; dizi ([ ]) ve işlev ( ( ) ) değiştiricileri tanımlayıcıyı izler. Bu bilgiyle; tanımlayıcının, soyut bildirimcinin neresinde görüneceğini belirleyebilir ve ona göre bildiriciyi yorumlayabilirsiniz. Ek bilgi ve karmaşık bildirimci örnekleri için bkz. Daha Karmaşık Bildirimcileri Yorumlama. Bildirimciler basitleştirmek için genellikle typedef kullanılabilir. Bkz. Typedef Bildirimleri.

Soyut bildirimciler karmaşık olabilir. Bir karmaşık soyut bildirimcideki parantezler belirli bir yorumu belirtir (bildirimler içindeki karmaşık bildirimciler için olduğu gibi).

Bu örneklerde soyut bildirimciler gösterilmektedir:

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, ... )

Not

Bir dizi boş parantezden oluşan soyut bildirimciye ( ), belirsiz olduğundan izin verilmez. İma edilen tanımlayıcının parantez içinde mi (bu durumda, değiştirilmemiş bir türdür) yoksa parantezlerden önce mi (bu durumda, bir işlev türüdür) olduğunu belirlemek mümkün değildir.

Ayrıca bkz.

Bildirimler ve Değişken Bildirimleri