Bu makalede, bir yapı içindeki verilere erişmek için işaretçilerle çalışmanıza yardımcı olacak ilgili örnekler bulacaksınız.
Bir işaretçi değişkeni oluşturulabilir sadece doğal tip (mi için int
, float
, double
vs.), ancak aynı zamanda yapı gibi kullanıcı tanımlı türleri için oluşturulabilir.
İşaretçilerin ne olduğunu bilmiyorsanız, C ++ işaretçileri ziyaret edin.
Yapılar için şu şekilde işaretçi oluşturabilirsiniz:
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
Bu program temp tipinde bir işaretçi ptr oluşturur.
Örnek: Yapıya Yönelik İşaretçiler
#include using namespace std; struct Distance ( int feet; float inch; ); int main() ( Distance *ptr, d; ptr = &d; cout <> (*ptr).feet; cout <> (*ptr).inch; cout << "Displaying information." << endl; cout << "Distance = " << (*ptr).feet << " feet " << (*ptr).inch << " inches"; return 0; )
Çıktı
Ayak girin: 4 İnç girin: 3.5 Bilgi görüntüleme. Mesafe = 4 fit 3,5 inç
Bu programda, bir işaretçi değişkeni ptr ve normal değişken d tipi yapı Distance tanımlanmıştır.
D değişkeninin adresi işaretçi değişkenine kaydedilir, yani ptr, d değişkenine işaret eder. Daha sonra, d değişkeninin üye işlevine işaretçi kullanılarak erişilir.
Not: ptr işaretçisi bu programda d değişkenini gösterdiğinden (*ptr).inch
ve d.inch
aynı hücre olduğundan. Benzer şekilde (*ptr).feet
ve d.feet
aynı hücredir.
İşaretçiyi kullanarak üye işlevine erişmek için sözdizimi çirkin ve daha yaygın olan alternatif gösterim -> var.
ptr-> feet (* ptr) ile aynıdır .feet ptr-> inch, (* ptr) ile aynıdır. inç