CodeBlanks Logo Icon CodeBlanks

İç içe struct

Bir struct'ın içinde başka struct kullanmayı öğrenirsin.

İç içe struct

Bir struct'ın üyesi başka bir struct olabilir. Bu, ilgili verileri hiyerarşik biçimde gruplandırmanın temel yoludur.

struct Address {
    string city;
    string street;
};
struct Person {
    string name;
    Address home;
};

Burada Person yapısı bir Address üyesi içerir. İç üyeye erişmek için noktaları arka arkaya kullanırsın: p.home.city. Bu, gerçek nesneleri daha doğal biçimde modellemeyi sağlar.

İç içe struct kullanma

İç içe yapıda dış yapıyı tanımladıktan sonra iç üyeleri ayrı ayrı atayabilirsin. İç yapıyı önce kendi başına tanımlayıp sonra dış yapıya atamak da mümkündür.

Person p;
p.name = "Ayşe";
p.home.city = "İstanbul";
p.home.street = "Çiçek Sokak";

Burada p.home bir Address gibi davranır; üyeleri .city ve .street ile atanır. Bu düzen, adresi ayrı bir yapı olarak tutmanın okunabilirliğini korur.

Uygulama Person ve Address tanımla

struct Address { string city; string street; }; tanımla. Sonra struct Person { string name; Address home; }; tanımla. main içinde Person p; oluştur; p.name = "Ayşe";, p.home.city = "İstanbul"; ata. cout << p.name << " - " << p.home.city << endl; yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <string>
using namespace std;

// Address yapısını tanımla
// Person yapısını tanımla

int main() {
    // Person p; oluştur, name ve home.city ata, yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <string>
using namespace std;

struct Address {
    string city;
    string street;
};

struct Person {
    string name;
    Address home;
};

int main() {
    Person p;
    p.name = "Ayşe";
    p.home.city = "İstanbul";
    cout << p.name << " - " << p.home.city << endl;
    return 0;
}

Beklenen çıktı

Ayşe - İstanbul

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Person p; için p.home.city ifadesi ne yapar?

  • bir hata verir
  • yeni bir city oluşturur
  • içteki city üyesine erişir Doğru cevap
  • Person yapıp city yazar

Açıklama: Nokta zinciri iç üyeye eriştirir.

2 Boşluğu doldur: iç üye erişimi

Soru
Person p;
p.____.city = "İzmir";
Cevap
Person p;
p.home.city = "İzmir";

Açıklama: p.home.city zinciri iç üyeye eriştirir.

3 İfadeyi sonuçuyla eşleştir

Kavram Anlamı
p.name kişi adı
p.home.city şehir
p.home.street sokak

Başlangıç bölümündeki tüm dersler