İçeriğe geç

C Programlama Yapılar ve Birlikler

(enum, struct, typedef)

Enum Deyimi:

  • Sayma tipi olarak adlandırılırlar.
  • Bu sayma sabitleri, değerleri otomatik olarak belirlenen sembolik sabitlerdir.
  • Enum içindeki değerler aksi belirtilmedikçe 0 ile başlayar ve 1 arttırılır.
  • Değişkenin alabileceği değerlerin sabit olduğu durumlarda programı daha okunabilir hala getirmek için kullanılır.

Mantıksal örnekler:

  • Cinsiyet: Kadın,Erkek
  • Evlilik_Durumu: Evli, Bekar
  • Egitim_Durumu: İlkokul , Lise, OnLisans, Lisans, LisansUstu

 Genel yazım biçimi:

   – enum tip_adı {deger1, deger2, …, degerN} degisen_adı;

Yazım biçimini gerçek örneklerle belirtecek olursak:

  – enum bolumler { programcilik, donanim, muhasebe, motor};

tanımı ile programcılık için 0 , donanim için 1, muhasebe için 2 ve motor için 3 değerini kabul ederek atamaları buna göre yapmış oluruz.

Eğer programcılık değerini 1 ‘e eşitlersek sayma işlemi 1 den başlanır. Bu durumda yeni değerlerimizi 1 artmış olarak ifade edebiliriz. Bununla ilgili basit bir örneğe “ C ÖRNEKLERİ ” ‘nden  göz atabilirsiniz.

Sturct ( Yapı ) Deyimi

  • Farklı veri türlerine ait değişkenlerin bir grup olarak ifade edilmesi için kullanılır. Bu gruplar kullanıcı tanımlı isim ile kullanılması amacıyla tercih edilen veri türüdür.
  • Yapılar diziler gibi bellekte sürekli kalır.
  • İçerisindeki elemanlara üye denir ve üyeler farklı veri tiplerine sahip olabilir.
  • Yapılar sayesinde kendi veri tipinizi üretmeniz mümkündür.
  • Farklı programlama dillerinde Record (kayıt) olarak da geçerler.

Yapı gösteriminin nasıl olduğuna bir bakalım:

Struct yapısının nasıl kurulduğuna biraz daha ışık tutmak için gerçek verilerle bir örnek gerçekleştirelim.

Örnek: 

Bir üniversitedeki öğrencilerin bilgilerini struct kullanacak ifadece edelim. Bir öğrencinin ne gibi bilgileri olabilir? Adı, soyadı, numarası, cinsiyeti, fakültesi/bölümü ve ekstradan genel not ortalaması da olabilir. Bunu struct biçiminde yazalım.

Farklı farklı veri tipleri kullandık bunun sebebi ismin karakterlerden oluşması yanı tipinin char olması. Bir numaranın sayılardan oluşması yani tipinin int olmasıdır. Sizde istenilen bilginin tipine göre bir tip ile tanımlamalısınız.

Bu oluşturduğumuz structlar int main() fonksiyonu yukarısında yer alırlar. İnt main() fonksiyonu içerisinde struct nasıl tanımlanır? Ve bu structta oluşturduğumuz değişkene nasıl değer atanır? Bir bakalım:

Struct Ogrenci  artık bizim için int,char,float gibi kullandığımız bir veri tipidir. Yani int ogrenci_bilgisi yerine struct Ogrenci kullanarak struct içerisinde tanımlı değişkenlere erişim sağlayabiliyoruz.

ogrenci_bilgisi.no= dediğimizde struct Ogrenci tipindeki ogrenci_bilgisi adlı değişkenimizin numarasına değer atamış oluyoruz.

Struct okuma ve yazma ile ilgi örneğe C örneklerinden bakabilirsiniz

Struct değişkenlerini Kopyalama

  • Struct tipindeki bir değişkenin değeri aynı tipteki bir başka struct değişkenine atanabilir.
  • Atama işlemi degisken1 = degisken2; şeklinde yapılır.

Struct değişkenlerini Karşılaştırma

  • Sturct tipindeki bir değişken aynı tipteki bir başka strcut değişkeni ile direk karşılaştırılamaz. Ancak sahip olduğu üyelerin tamamı diğeri ile karşılaştırılır.
  • İf(degisken1==degisken1) … ifadesi yanlıştı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.

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.

typedef Kullanımı

  • typedef deyimi C dilinde değişken tanımlama yaparken kullanılan int, float, char gibi değişken isimlerini değiştirmeye yarar.
  • Bu sayede kodlar programcının anadiline daha fazla yaklaşmış olur.
  • struct deyimi ile beraber kullanıldığında oluşturduğunuz yapıyı bir değişken türü olarak tanımlayıp o yapının çoğaltılmasını sağlar. Bu yapıdan değişken tanımlamak için tekrar struct deyiminin kullanılmasına gerek kalmaz.

Bu kullanım main fonksiyonu içerisinde tanımlama şeklimizi etkiler. Struct oluşumu ve tanımlaması hakkında öğrendiklerimizi tamamen unutuyoruz. typedef kullanımına birlikte bakalım:

Yukarıdaki şekilde tanımlamamızı yapabiliriz. Burada typedef bizim Ogrenci adlı struct’ımızı veri tipi olarak kullanmamızı sağlar.

struct İçerisinde struct Kullanımı

  • C programlama dili struct içerisindeki bir üyenin yine bir struct olmasına izin verir. Bunu yapmaktaki temel
           Amaç:
  • Kaynak kodun tekrar kullanılabilirliğini arttırmak
  • Kaynak kodun okunabilirliğini arttırmak
  • Kaynak kodu sadeleştirmek
Tarih:Yazılım/Teknoloji

İlk Yorumu Siz Yapın

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir