Nasıl işlevi bir işaretçi kaldırma olur mu? | Netgez.com
SORU
8 Mayıs 2010, CUMARTESİ


Nasıl işlevi bir işaretçi kaldırma olur mu?

Neden ve nasıl kaldırma fonksiyonu sadece işaretçi "hiçbir şey"?

Bu bahsettiÄŸim ÅŸey

#include<stdio.h>

void hello() { printf("hello"); }

int main(void) { 
    (*****hello)(); 
}

here: bir yorum

işlev işaretçileri sadece inceleyebilirsiniz tamam ama sonuçta işlevi göstergesi hemen olacak bir işlev işaretçisi için geri dönüştürülmüş


Ve bir cevap here:

Kaldırma (telefon) işlevin işaretçisi anlamı: erişim KODU bir VERİ olurdu. bellek.

İşlev işaretçisi olmaması gerekiyordu bu şekilde başvuru yapıldı. Bunun yerine, denir.

Adı "" yan inceleyebilirsiniz kullanırdım yanında"". ara ile TAMAM.

Neyse: C böyle bir şekilde tasarlanmıştır her iki işlev adı tanımlayıcısı sıra değişken tutma işlevi. işaretçi aynı anlama gelir: KOD için adres bellek. Ve o atlamak için izin verir aramayı kullanarak bellek () ya da sözdizimi tanımlayıcı ya da bir değişken.


Nasıltam olarakişlevi bir işaretçi kaldırma çalışıyor mu?

CEVAP
8 Mayıs 2010, CUMARTESİ


Pek de doğru bir soru değil. C için, en azından, doğru soru

Rvalue bir çerçevede işlev değeri ne olur?

(Bir rvalue içeriği herhangi bir isim veya başka bir referans görünür olması gereken yere kullanılan bir değer yerine bir konum-temelde her yerde dışında Sol tarafta bir görev. Adını kendisi geliyordoğruatama tarafta.)

TAMAM, bu yüzden ne rvalue bir çerçevede işlev bir değer olur? Hemen ve örtülü olarak orijinal fonksiyon değeri için bir işaretçi dönüştürülür. *, O işaretçi çözümlemesi detayları ve örtülü bir işaretçiyle aynı işlevi tekrar değer elde edersiniz. Ve gibi birçok kez istediğiniz gibi yapabilirsiniz.

İki benzer deneyler deneyin

  • EÄŸer bir iÅŸlevi bir iÅŸaretçi çözümlemesi ne olurlvaluebaÄŸlam-bir atamanın sol tarafı. (Cevabı iÅŸlevleri deÄŸiÅŸmez olduÄŸunu unutmayın eÄŸer beklediÄŸiniz ne hakkında olacak.)

  • Bir dizi deÄŸeri de lvalue baÄŸlamda bir iÅŸaretçi dönüştürülür, ama bir iÅŸaretçi dönüştürülürelemanyazın dizisi için bir iÅŸaretçi. Bu nedenle bir öğe verecektir kaldırma, bir dizi deÄŸil, ve delilik size göstermek oluÅŸmaz.

Bu yardımcı olur umarım.

P. S. Gibinedenfonksiyon değeri örtülü olarak bir işaretçi dönüştürülür, cevap işlev işaretçileri kullanan kullanmak için &kullanmak için büyük bir kolaylık olduğunu's her yerde. De ikili bir kolaylık var: çağrı pozisyonda bir işlev işaretçisi * işlevi bir işaretçi aramak için yazmak zorunda değilsiniz, böylece otomatik olarak işlev bir değer dönüştürülür.

P. P. S. eğer C fonksiyonları, C fonksiyonları, aşırı yüklü olabilir, ve anlambilim C nasıl çalıştığı hakkında yorum yapmak için nitelikli değilim .

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • Kassem G

    Kassem G

    25 EKİM 2006
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006