C Fonksiyonlar
25 Haziran 2024

C Fonksiyonlar


C programlama dilinde, fonksiyonlar programcı tarafından belirli bir kod bloğunun isim almasını sağlayan araçlardır. Bir fonksiyon ismi program içerisinde çağrıldığında, fonksiyonun temsil ettiği kod çalıştırılır. Örneğin, bir sayının faktöriyelini hesaplayan bir kod parçasını programda birçok defa yazmak yerine, bu işlemi gerçekleştiren bir fonksiyon tasarlayıp, faktöriyel hesabına ihtiyaç duyulduğunda sadece bu fonksiyonun ismini yazmak çok daha pratik olacaktır.

İlk programımızda `main` fonksiyonunu yazarak aslında ilk fonksiyonumuzu da tasarlamış olduk. Bu fonksiyonu biz değil, işletim sistemi çağırmaktadır. Tasarladığımız diğer fonksiyonları ise biz veya fonksiyonumuzu verdiğimiz başka bir programcı çağıracaktır. Aşağıdaki kod bloğunda, faktöriyel fonksiyonunun çağrılıp elde edilen değerin bir değişkene atanması gösterilmektedir.

Fonksiyonların Çağrılması

Fonksiyonlar çağrılırken, öncelikle çağrılacak olan fonksiyonun ismi yazılır ve ardından derleyiciye yazılan ismin bir fonksiyona ait olduğunu belirten sol parantez `(` karakteri yazılır. Bu karakteri bulan derleyici, yazılan ismin bir değişkene değil, bir fonksiyona ait olduğunu anlar. Eğer fonksiyon, yapacağı hesaplama için bir veya birden fazla değeri bekliyorsa, sol ve sağ parantezler arasına istenilen değerler girilmelidir. Faktöriyel fonksiyonu, hangi sayının faktöriyelini alacağını çağıranın girdiği değerden almaktadır. Fonksiyonun dışarıdan aldığı bu değerlere parametre adı verilmektedir.

Fonksiyonların Tanımlanması

Fonksiyonları çağıran kişiye "çağıran" (Caller) veya istemci (Client) adı verilmektedir. Örneğin, aşağıdaki kod parçası ile biz çağıran olarak faktöriyel fonksiyonundan 5 sayısının faktöriyelini hesaplamasını istiyoruz. Fonksiyon çağrıldıktan sonra gerekli işlemleri yapıp faktöriyel işleminin sonucunu bulur. Bulunan sonuçtan çağıranın da haberdar olması için fonksiyon elde ettiği değeri `return` komutu ile çağırana getirir. Bu işleme değer döndürmek adı verilir.

Fonksiyon İsimlendirme Kuralları

C fonksiyon isimleri yazılırken, değişken ismi kuralları aynen geçerlidir. Fonksiyon isimleri içerisinde sadece İngilizce karakterler kullanılmalıdır. Türkçe karakterler farklı derleyici ve sistemlerde sorun çıkarabilir. Bu nedenle kesinlikle Türkçe karakter kullanılmamalıdır. Fonksiyon ismi, yaptığı iş hakkında bilgi verecek şekilde seçilmelidir.

Fonksiyon Parametreleri

C fonksiyonları, yapacakları işlemler için kullanıcıdan bilgi isteyebilirler. Örneğin, faktöriyel fonksiyonu hangi sayının faktöriyelinin alınacağını çağırandan parametre olarak beklemektedir. Fonksiyon tanımlanırken dışarıdan beklenen değerler göz önünde bulundurulmalı ve parametreler buna göre yazılmalıdır.

Fonksiyon Gövdesi

C fonksiyon gövdesi `{` simgesinin hemen ardından başlar ve `}` simgesi ile sona erer. Fonksiyonu bitirmenin başka bir yolu ise `return` komutunu kullanmaktır. `Return` komutu, fonksiyonun çağrıldığı noktaya geri dönmesini sağlar. Fonksiyon çağrısı, işlemcinin izlediği yolu değiştirmesine neden olur. Fonksiyon bittiğinde ise çağrının yapıldığı noktadan yoluna devam etmesi gerekir.

Değer Döndürmeyen Fonksiyonlar

C fonksiyonları işlerini bitirdikten sonra çağrıldıkları noktaya geri dönerler. Fakat bazı fonksiyonlar geri dönerken bir değer getirmezler. Bu fonksiyonların dönüş değerleri `void` olmalıdır.

Fonksiyon Çağrısı ve İşlemci

C fonksiyonları çağrıldığında işlemci, kodu işletme sırasını değiştirip farklı satırlardaki komutları çalıştırmaya başlar. Örneğin, kodun `ustAl` fonksiyonu çağrıldığında, işlemci `main` fonksiyonunda devam etmeyip, `ustAl` fonksiyonundaki kodları işletmeye başlar. `Main` fonksiyonu, `ustAl` fonksiyonu geri dönene kadar beklemede kalır. Bu teknik bütün programlama dillerinde mevcuttur.

Makine Kodu ve Fonksiyon Çağrısı

C fonksiyon çağrısının da makine kodu karşılığı mevcuttur. Fakat çağrı yapılmadan önce bazı hazırlık işlemlerinin makine kodu ile yapılması gerekir. Derleyicinin bütün işleri doğru şekilde yapabilmesi için çağrılacak fonksiyonun dönüş değeri, ismi ve parametre bilgilerini çağrıdan önce bilmesi gerekir.

Fonksiyonlar ve Döngüler

Kimi problemler, aynı işlemin farklı değerlerle sürekli yapılmasıyla elde edilebilir. Bu tip durumlarda şu ana kadar döngüleri kullanmaya çalıştık. C fonksiyonları sayesinde farklı bir çözüm daha üretebiliyoruz.

Sizden Gelen Sorular / Yorumlar

İlk soruyu siz sormak istermisiniz?

Soru Sor / Yorum Yap

şifre

Çok Okunanlar

Tek Fonksiyon Özellikleri

Tek Fonksiyon Özellikleri

9.sınıf Matematik Fonksiyonlar

9.sınıf Matematik Fonksiyonlar

Haber Bülteni

Güncel

Ters Fonksiyonun Türevi Nelerdir?

Ters Fonksiyonun Türevi Nelerdir?

Güncel

Orijine Göre Simetrik Fonksiyon

Orijine Göre Simetrik Fonksiyon