İçeriğe geç

C Programlama Fonksiyonlar

  • Fonksiyonlar karmaşık yapılı programların karmaşıklığını azaltmak ve bu programları modüler bir yapıya kavuşturmak için kullanılırlar.
  • Programcıların tekrarlanan kod yazmalarını önlerler.
  • Fonksiyon belirli bir adı olan program parçasıdır.
  • Fonksiyonların çalışabilmesi için bir başka fonksiyondan adı ile çağrılması gerekmektedir.

Bu zamana kadar programlarımızı çalıştırdığımızda otomatik olarak çalışan main() de bir fonksiyondur. Bu fonksiyonu biz çağırmayız veya başka bir fonksiyon içinden çağrılmasına gerek yoktur.

Bir main() fonksiyonu içinden bir başka fonksiyon çağrılabilir.

Oluşturduğumuz bir fonksiyon içerisinden farklı bir fonksiyon çağrılabilir.


Her fonksiyonun bir adı ve fonksiyona gelen değerleri gösteren parametreleri (bağımsız değişkenleri) vardır. Fonksiyonlarda bu parametreler alınarak çeşitli işlemlere tabi tutulur ve bir değer hesaplanır. Bu değer, çıktı veya geri dönüş değeri (return value) olarak adlandırılır. Bir fonksiyona kaç giriş olursa olsun sadece bir çıkışı vardır.

Örneğin toplama işlemi yapan Topla() adında bir fonksiyonumuz olsun. Bu fonksiyona int tipinde X ve Y parametreleri alındığında fonksiyondan çıkan değer X+Y olacaktır.

Bunu birde kod üzerinden gerçekleştirelim:

Topla fonksiyonunun çağrıldığı kod satırını ele alalım. Kod okunma sırası topla() fonksiyona geldiği zaman işleme topla fonksiyonu içerisinden devam edilir. Return’a gelindiğinde yanında belirttiğimiz sonuç değeri main() fonksiyonumuz içerisinde topla fonksiyonunun yazılı olduğu satırda döndürülür. Buda toplam_sonucu değişkenine eşit olduğu için fonksiyondan çıkan değerimiz toplam_sonucu değişkenine atanmış olur. Bulunan değer main() fonksiyonu içerisinde ekrana yazdırılır.

Fonksiyondaki parametrelerimiz 10 ve 15 dir. Bu tanımlama ile parametrelerimiz topla fonksiyonunun yanında tanımladığımız int tipindeki x ve y değişkenlerine atanmış olur. x’ in yeni değeri 10 ve y’ nin yeni değeri 15 olur.

Burada topla() fonksiyonu içerisinde bir daha sonuc isimli değişkeni tanımlamadan da işlemi gerçekleştirebilirdik.

Return x + y ;  return ’u bu şekilde kullanma imkanımızda var. Bize yine işlemin sonucunu döndürür. Böylece fazladan değişken tanımlamamış oluruz. Return 10;  yazıldığında değer olarak 10 döndürülür. Return (x*y/2) ;  yaptığımızda bize işlemin sonucunu döndürecektir.

Ufak bir NOT alalım

  • İnt tipindeki fonksiyonlarda değer dönme vardır. Yani return kesinlikle kullanılır. Parametre girdisi içere de bilir içermeye de bilir.
  • Void tipindeki fonksiyonlarda değer dönme yoktur. Yani return kesinlikle bulunmaz. Parametre girdisi içere de bilir içermeye de bilir.
  • #include kütüphanelerinin altına main() fonksiyonunun yukarısına fonksiyonlar için prototip tanımlama yapılmalıdır.

Örn :

FONKSİYON KULLANIM HATALARI !

  1. Fonksiyon tanımlamalarında geri dönüş değerini unutmak.
  2. Void tipindeki bir fonksiyonun bir değeri geri döndürmesi yazım hatasıdır.
  3. Aynı tipte fonksiyon parametrelerini float x, float y yerine float x,y olarak yazarsak y değişkeninin parametre tipini belirtmemiş oluruz. Belirtilmeyen parametre tipi otomatik olarak int tipinde varsayılır. Bu durumda da y parametremizin tipi int olmuş olur.
  4. Void( int x) ; burada noktalı virgül kullanmak yazım hatasıdır.
  5. Bir fonksiyon içinde başka bir fonksiyon tanımlamak yazım hatasıdır.
  6. Fonksiyon parametresini daha sonradan fonksiyon içinde yerel bir değişken olarak kullanmak bir yazım hatasıdır.

Dizilerin Fonksiyonlarda Kullanılması

 Dizilerde sıralan değişkenler gibi bir fonksiyona parametre olarak atanabilirler.Fakat Her zaman dizinin yanında boyutunun da bilinmesi gereklidir.!!!

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