27 Şubat 2017 Pazartesi

struct (Yapı) Deyimi





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