Aracılığıyla paylaş


Niteleyici türü

Tür niteleyicileri iki özelliklerinden biri bir tanımlayıcı sağlar.Const türü niteleyicisi olarak nonmodifiable bir nesneyi bildirir.volatile Türü niteleyicisi öğenin değerini meşru bir şekilde değiştirilebilir göründüğü, aynı anda çalışan iş parçacığı gibi program denetimi dışında bir şey olarak bildirir.

İki niteleyiciler, yazın const ve volatile, bir bildirimi yalnızca bir kez görünür.Herhangi bir tür belirticisiyle türü niteleyicileri görünebilir; Ancak, bunlar birden çok öğe bildiriminde ilk virgülden sonra bulunamaz.Örneğin, aşağıdaki bildirimleri yasal şunlardır:

typedef volatile int VI;
const int ci;

Bu bildirimleri yasal değildir:

typedef int *i, volatile *vi;
float f, const cf;   

Yalnızca tanımlayıcıları ifadelerde m değerleri olarak erişirken türü niteleyicileri ilgilidir.Bkz: l-değeri ve R-Value m değerler ve ifadeler hakkında bilgi için.

Sözdizimi

  • Niteleyici türü:
    constvolatile

Aşağıdaki yasal const ve volatile bildirimleri:

int const *p_ci;       /* Pointer to constant int */
int const (*p_ci);     /* Pointer to constant int */
int *const cp_i;       /* Constant pointer to int */
int (*const cp_i);     /* Constant pointer to int */
int volatile vint;     /* Volatile integer        */

Bir dizi türü belirtimi türü niteleyicileri içeriyorsa, öğenin nitelenmiş, dizi türü değil.İşlev türü belirtimi niteleyicileri içeriyorsa, tanımsız bir davranıştır.Ne volatile ne de const değerler aralığı ya da nesnenin aritmetik özelliklerini etkiler.

Bu listeyi nasıl kullanılacağını açıklar const ve volatile.

  • Const anahtar sözcüðünü temel veya toplama türü veya herhangi türde bir nesne işaretçisi değiştirmek için kullanılabilir veya bir typedef.Bir madde ile yalnızca bildirilirse const türü Niteleyici türü olarak alınır const int.A const değişken başlatılabilir veya bir depolama salt okunur bölgede yerleştirilebilir.Const anahtar sözcüğünü işaretçiler bildirmek için yararlı const bu işlevi işaretçiyi herhangi bir şekilde değiştirmeden gerektirdiğinden.

  • Derleyici, programda herhangi bir noktada varsayar bir volatile değişkeninin değerini değiştirir veya kullanır, bilinmeyen bir işlem tarafından erişilebilir.Bu nedenle, komutunda belirtilen iyileştirmeleri ne olursa olsun her atama için kod satırı veya, başvuru bir volatile etkisi görünmesine karşın değişkenini oluşturulmalıdır.

    volatile Tek başına, kullanılan int kabul edilir.volatile Tür belirleyici özel bellek konumlarını güvenilir erişim sağlamak için kullanılabilir.Use volatile erişilen veya sinyal işleyicisi tarafından değiştirilmiş olabilir veri nesneleri içeren programlar aynı anda çalıştırma veya bellek eşlemeli gibi özel bir donanım g/Ç denetimi kaydeder.Bir değişken olarak bildirebilirsiniz volatile olması için tek bir başvuru yaşam süresi veya çevirebilirsiniz için volatile.

  • Bir öğenin her ikisini de olabilir const ve volatile, durumda öğe kendi program tarafından meşru bir şekilde değiştirilemedi, ancak bazı zaman uyumsuz bir işlem tarafından değiştirilmiş.

Ayrıca bkz.

Kavramlar

Bildirimler ve türleri