Aracılığıyla paylaş


Gerekebilen ve adresi, işleçleri

Gerekebilen operatörü (*) bir değer dolaylı olarak, işaretçi erişir.İşlenen bir işaretçi değeri olmalıdır.İşleminin sonucu işlenen tarafından giderilen değerdir; diğer bir deyişle, işlenen gösterdiği adresteki değeri.Sonuç türü işlenen gideren türüdür.

İşlenen bir işleve gösteriyorsa, sonuç işlevi bir göstergesidir.Bir depolama konumuna işaret ediyorsa, depolama konumunu belirleme bir l-değeri sonucudur.

İşaretçi değeri geçersizse, tanımsız bir sonucudur.Aşağıdaki liste, bir işaretçi değeri geçersiz kılmak en yaygın koşullardan bazıları içerir.

  • İşaretçi null bir işaretçidir.

  • İşaretçiyi başvuru anında görünür değil yerel bir madde adresini belirtir.

  • İşaretçiyi açamayacağı iþaret nesnesi türü için hizalı bir adresi belirtir.

  • İşaretçiyi yürütülen program tarafından kullanılmayan bir adresi belirtir.

Adres, işleç (ve), işlenen adresini verir.Adres, işletmenin işlenen işlev göstergesi ya da, bir bit alanı değil ve birlikte bildirilmedi nesne atayan bir m değerli olabilir kayıt depolama sınıfı Belirleyicisi.

Adres işleminin sonucu işlenen bir işaretçidir.İşaretçi ele işlenenin tür türüdür.

Adres, operatör ile temel, yapı değişkenleri yalnızca uygulanabilir veya dosya kapsam düzeyinde veya çok bildirilen birleþim türleri alt indisli bir dizi başvuruları.Bu ifadelerde, adresi işleci içermeyen bir sabit ifade için eklenebilir veya adres ifadeden toplanabilir.

Örnekler

Aşağıdaki örneklerde, bu bildirimleri kullanın:

int *pa, x;
int a[20];
double d;

Bu ifade, adres, operatörünü kullanır:

pa = &a[5];

Adres, işleç (ve) dizinin altıncı öğesi adresini alır a.Sonuç işaretçi değişkeni depolanan pa.

x = *pa;

Gerekebilen operatörü (*) Bu örnekte erişmek için kullanılan int adresindeki depolanan değeri pa.Değer tamsayı değişkenine atanır x.

if( x == *&x )
    printf( "True\n" );

Bu örnekte word yazdırır True, demonstrating, adresine gerekebilen işleci uygulama sonucu x aynı x.

int roundup( void );     /* Function declaration */

int  *proundup  = roundup;
int  *pround  = &roundup;

İşlev roundup bildirildiği, iki işaretçiler roundup bildirilen ve başlatıldı.Birinci işaretçinin proundup, ikinci, yalnızca işlev adı kullanılarak başlatılan pround, başlangıçta, adresi işleci kullanır.İlk değer atamaların eşdeğerdir.

Ayrıca bkz.

Başvuru

Gerekebilen işleci: *

Adres, işleç: &