Yapılar, farklı veri türlerine sahip değişkenlerin bir grup olarak değerlendirilmesi ve bu grubun bir isimle kullanılması amacıyla tercih edilen kullanıcı tanımlı bir veri türüdür.
Yapılar diziler gibi bellekte sürekli kalır.
Bir yapı içerisindeki elemanlara üye (member) denir.
Üyelerin her biri farklı veri tipine sahip olabilir.
Yapılar sayesinde kendi veri tipinizi üretmeniz mümkündür.
Yapılar farklı programlama dillerinde Record (Kayıt) olarak da geçerler.
Yapılar int, float, char gibi farklı tipteki değişkenleri veya aynı türdeki birden çok değişkeni bir araya getirmeyi sağlar. Nesne tabanlı programlamanın da temelini oluşturan bu oluşumu iyi öğrenmek, ileriki zamanlarda C# ve JAVA gibi tamamen nesneye dayalı programlamayı benimsemiş gelişmiş dilleri öğrenmeye de yardımcı olacaktır.
Yapı gösterimi aşağıdaki gibidir:
struct yapı_adı{
veri_tipi yapı_değişken_ismi;
veri_tipi yapı_değişken_ismi;
...
};
Örnek: Bir üniversitedeki öğrencilerin bilgilerini struct kullanarak ifade edelim.
Kullanılacak bilgiler aşağıdaki gibi olsun:
Öğrenci Numarası
Öğrenci Adı
Öğrenci Soyadı
Öğrenci Cinsiyeti
Öğrenci Fakültesi/Bölümü
Öğrenci Genel Not Ortalaması
Örnek: struct Okuma ve Yazma
struct Değişkenlerini Kopyalama
struct tipindeki bir değişkenin değeri aynı tipteki bir başka struct değişkenine atanabilir.
Atama aşağıdaki şekilde yapılır:
degisken1 = degisken2;
Örnek: struct Kopyalama
struct Değişkenlerini Karşılaştırma
struct tipindeki bir değişken aynı tipteki bir başka struct değişkeni ile direk karşılaştırılamaz. Ancak sahip olduğu üyelerinin tamamı diğeri ile karşılaştırılır.
Aşağıdaki karşılaştırma yanlıştır:
if (degisken1 == degisken2) ….
Örnek: struct Değişkenlerini Karşılaştırma
Genellikle yapı değişkeni veya nesne karşılaştırmalarında tek tek üyeleri veya özellikleri karşılaştırmaya gerek yoktur. Çünkü o değişkeni diğer değişkenlerden ayırt edecek benzersiz bir üye mutlaka bulunmaktadır.
struct Değişkenleri ve Fonksiyonlar
struct tipindeki bir değişken herhangi bir fonksiyona parametre olarak aktarılabilir.
Herhangi bir fonksiyon geri dönüş değeri olarak struct tipinde bir veri türü geriye dönebilir.
Örnek: struct ve Fonksiyonlar
struct Değişkenleri ve Diziler
struct tipi içerisinde dizi türünde üyeler tanımlamak mümkündür.
Dizileri struct tipinde tanımlamak mümkündür.
Örnek: struct Değişkenleri ve Diziler
Örnek: struct Değişkenleri ve Diziler