struct Nedir?
C dilinde struct (yapı), birbiriyle ilgili farklı tipteki verileri tek bir isim altında gruplayan kullanıcı tanımlı veri tipidir. Nesne yönelimli dillerdeki sınıf kavramının temel öncülüdür.
struct Tanımlama
struct Ogrenci { char ad[50]; int yas; float not_ortalama; }; Tanımlanan yapıdan değişken oluşturmak için: struct Ogrenci ogr1; veya typedef kullanılarak: typedef struct { ... } Ogrenci; şeklinde sadeleştirilebilir.
Üyelere Erişim
Nokta operatörüyle: ogr1.yas = 20; Pointer üzerinden: ptr->yas = 20; (ok operatörü). İkisi işlevsel olarak eşdeğerdir; pointer kullanıldığında ok operatörü daha okunabilirdir.
Yapı Dizileri
Birden fazla öğrenci kaydını tutmak için: struct Ogrenci sinif[30]; Döngüyle tüm kayıtlar işlenebilir: for(i=0; i<30; i++) printf("%s\n", sinif[i].ad);
Yapı ve Fonksiyon
Yapılar fonksiyona değerle veya pointer ile geçirilebilir. Büyük yapılar için pointer tercih edilir; kopyalama maliyetinden kaçınılır ve fonksiyon içindeki değişiklikler orijinale yansır.
Gerçek Hayat Kullanımı
Öğrenci kayıt sistemi, çalışan veritabanı, geometrik şekil koleksiyonu ve bağlı liste düğümü tanımı struct'ın yaygın kullanım senaryolarıdır.
Bilkey C Programlama Kursu
Bilkey Bilişim Akademisi'nde C programlama eğitimi struct ve dinamik veri yapılarını kapsamlı biçimde ele almaktadır. Kurtköy Pendik'te birebir özel ders alabilirsiniz.