SORU
28 HAZİRAN 2009, Pazar


Baskı bir İşaretçi İçerir Adres C

Oldukça basit gibi görünen bir şeyler yapmak istiyorum. Sonuçlar alıyorum ama sorun şu ki, eğer bu sonuçlar doğru olup olmadığını bilmenin bir yolu var.

C çalışıyorum ve iki işaretçiler var; yazdırmak için işaretçiyi içeriğini istiyorum. İşaretçi değeri işaret almak için başvuru yapmak istemiyorum, ben sadece işaretçi saklı olduğu Adres.

Aşağıdaki kodu yazdım ve Bilmem Gereken ne, bunu nasıl düzeltebilir miyim yoksa eğer doğru ise.

/* item one is a parameter and it comes in as: const void* item1   */
const Emp* emp1 = (const Emp*) item1; 

printf("\n comp1-> emp1 = %p; item1 = %p \n", emp1, item1 );

Nakil olduğum sürece bu doğruysa önemlidir nedeni) sonunda işaretçi bir işaretçi için bunu yapmak zorunda. Yani:

const Emp** emp1 = (const Emp**) item1; 

CEVAP
28 HAZİRAN 2009, Pazar


İşaretçi işaretçi yazdırmak için adres:

printf("%p",emp1)

bir kez başvuru ve ikinci Adres yazdırmak için:

printf("%p",*emp1)

Her zaman doğrulamak ile hata ayıklayıcı, eğer bir linux kullanın ddd görüntü bellek, ya da sadece düz gdb, görürsünüz bellek adresi böylece karşılaştırma değerleri içinde işaretçiler.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AmeriiK_HD

    AmeriiK_HD

    16 AĞUSTOS 2012
  • Attempts at least

    Attempts at

    1 Ocak 2007
  • thetrollska

    thetrollska

    2 EKİM 2009