Konular

C Programlama Yapılar (Structures)

Herkese selamlar bu makalemde C Programlama Dilinde önemli bir yeri olan Yapılar (Structures) hakkında bildiklerimi paylaşmak istiyorum. 
 
Yapılar (structures) içinde aynı veya farklı veri tipinde birden fazla eleman saklayabildiğimiz bileşik veri tipidir. Programlarımızda değişkenleri kullandığımız için büyük önemleri vardır. Örneğin dizilerde hafızada bir takım yerler açılır, bu hafıza kısımlarını doldururken belirlemiş olduğunuz değişken tipinin dışına çıkamayız...işte yapılar saysesinde farklı veri tiplerinde birden fazla eleman saklayabiliriz.
 
 
 
struct insan{
       string isim;
       float boy;
       int kilo;
}insan birey; //birey nesnesi
 
Eğer veri tipi tanımlamayıp sadece değişken tanımlamak istiyorsak bunu şu şekilde gerçekleştirebiliriz;
 
 
 
struct {
       string isim;
       float boy;
       int kilo;
}birey; 
 
Yapılara İlk Değer Atama : Tüm değişkenlere yapabildiğimiz gibi yapı değişkenlerine de tanımları sırasında ilk değer ataması yapabiliriz.
insan birey={"ibrahim bayraktar",1,74,100}; //birey yapı değişkeni
 
Yapı Elemanlarına Erişim: Yapıda yer alan elemanlara, nokta (.) operatöru? ile erişebiliriz.
yapıDegiskeni.elemanAdı
 
Örnek :
 
cout<<kitap1.isim;
kitap1.yayinyili+=5;
if(kitap1.baski>35)...

kitaplar kitap1,kitap2;
cin>>kitap1.isim>>kitap1.yayinyili>>kitap1.baski;
kitap2=kitap1;
 
Yapı Elemanlarına Erişim Örnek :
 
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>

using namespace std;
struct rasyonel_erisim //yapiyi tanımliyoruz.
{
int pay, payda;
};
int main(int argc, char *argv[])
{
    rasyonel_erisim sayi1,sayi2,sonuc;
    cout<<"1.Sayinin Pay ve Paydasini Giriniz:";
    cin>>sayi1.pay>>sayi1.payda;  //burada sayilar okunuyor
    cout<<"2.Sayinin Pay ve Paydasini Giriniz:";
    cin>>sayi2.pay>>sayi2.payda; 
    sonuc.pay=sayi1.pay * sayi2.pay;
    sonuc.payda=sayi1.payda*sayi2.payda; //pay ve paydaları carpiyoruz
    cout<< sayi1.pay<<"/"<<sayi1.payda<<" x ";
    cout<< sayi2.pay<<"/"<<sayi2.payda<<" = ";
    cout<<sonuc.pay<<"/"<<sonuc.payda<<endl; //sonucu yazdiriyoruz
    getch();
}
 
C Programlama Yapılar (Structures)

İç İçe Structures: Bir yapının elemanı başka bir yapı olabilir. Bu durumdaki yapılara iç içe yapı (nested structures) adı verilir.
 
struct tarih {
       string ay;
       int yil,gun;
}; 
struct insan {
       string isim;
       float boy;
       int  kilo;
       struct tarih dogumTarihi;
};
insan icice;
icice.dogumtarihi.gun=17;
 
İç İçe Structures Örnek :
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>

using namespace std;

struct personelBilgi {
    char * isim;
    char * soyisim;
    char * Egitim;

  };

struct personelKayit{
  char * kayitYapanPersonel;
  char * kayitTarihi;
  struct personelBilgi personel;
};

int main(){

  struct personelKayit pk001;

  pk001.kayitYapanPersonel="Ibrahim BAYRAKTAR";
  pk001.kayitTarihi="12.01.2015";
  pk001.personel.isim="FISTIKCI";
  pk001.personel.soyisim="SAHAP";
  pk001.personel.Egitim="Lisans";

  printf("Kayit Islemini Yapan Personel: %sn", pk001.kayitYapanPersonel);
  printf("Kayit Tarihi: %sn", pk001.kayitTarihi);

  printf("Personel Isim: %sn", pk001.personel.isim);
  printf("Personel Soyisim: %sn", pk001.personel.soyisim);
  printf("Personel Egitim Duzeyi: %sn", pk001.personel.Egitim);

  getch();
}
 
C Programlama Yapılar (Structures)
 
 
Yorumunuzu Ekleyin

C Programlamada Veri Tipleri
C Programlama Dili'ne Giriş
C Programlama Değişkenler
Tip Dönüşümleri
C Programlama scanf() Fonksiyonu
Koşul ve if-else Yapıları
C Programlamada String İşlemleri
Switch - Case Yapısı
C Fonksiyon Yapısı
C Programlama switch - case Yapısı
C Programlama Dili'ne Giriş
C Programlama Diziler (Arrays)
Yükleniyor...