PDA

Orijinalini görmek için tıklayınız : Fonksiyonlar



Lontanie
24.Temmuz.2018, 21:48
FONKSİYONLAR
(Functions)

C'de alt programlara fonksiyon denir. Fonskiyon sözcüğü burada matematiksel anlamıyla değil diğer programlama dillerinde kullanılan, "alt program", "prosedür", "subroutine" sözcüklerinin karşılığı olarak kullanılmaktadır.

Fonksiyonlar C dilinin temel yapı taşlarıdır. Bir C programı en az bir C fonksiyonundan oluşur. Bir C programının oluşturulmasında fonksiyon sayısında bir kısıtlama yoktur.

Fonksiyonların onları çağıran fonksiyonlardan aldıkları girdileri ve yine onları çağıran fonksiyonlara gönderdikleri çıktıları vardır.
Fonksiyonların girdilerine parametreler (parameters) ya da argumanlar (arguments) diyoruz.
Fonksiyonların çıktılarına geri dönüş değeri (return value) diyoruz.

Bir fonksiyon iki farklı yönden kullanılabilir :

- fonksiyon, icrası süresince belli amaçları gerçekleştirir. (Belli işlemleri yapar)
- fonksiyon icrası sonunda bir değeri çıktı olarak kendisini çağıran fonksiyona gönderebilir.

fonksiyonların geri dönüş değerleri (return values of the functions)

Bir fonksiyonun icrası sonunda onu çağıran fonksiyona dönüşünde gönderdiği değere, fonksiyonun geri dönüş değeri (return value) denmektedir. Her fonksiyon bir geri dönüş değeri üretmek zorunda değildir.

Bir fonksiyonun geri dönüş değeri varsa, fonksiyon çağırma ifadesi geri dönüş değerini üretir.
Geri dönüş değeri bir değişkene atanabileceği gibi doğrudan aritmetik işlemlerde de kullanılabilir. Örneğin :

sonuc = hesapla();

Burada hesapla fonksiyonunun çağırılma ifadesiyle üretilen geri dönüş değeri, sonuc değişkenine atanmaktadır.

Bir başka deyişle bir fonksiyon çağırma ifadesinin ürettiği değer, ilgili fonksiyonun ürettiği (eğer üretiyorsa) geri dönüş değeridir.

Yukarıdaki örnekte önce hesapla() fonksiyonu çağırılacak daha sonra fonksiyonun icra edilmesiyle oluşan geri dönüş değeri sonuc değişkenine atanacaktır.

Fonksiyonların geri dönüş değerleri nesne değildir yani sol taraf değeri (L value) değildir.

Yani C dilinde aşağıdaki gibi bir atama her zaman hata verecekti...