08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

Eski biçim, yeni biçime göre uzundur. Çünkü işlev ayraçlarının içinde ismi yer alan<br />

parametre değişkenleri alt satırlarda yeniden bildirilir.<br />

Yeni Biçim<br />

Yeni biçimde (new style), eski biçime göre hem daha kısadır hem de okunabilmesi eski<br />

biçime göre çok daha kolaydır.<br />

Yeni biçimde işlev parametre değişkenlerinin bildirimi işlev ayraçlarının içinde yalnızca bir<br />

kez yapılır. Bu biçimde, işlevin ayraçlarının içine parametre değişkenin türü ve yanına da<br />

ismi yazılır. Eğer birden fazla işlev parametre değişkeni varsa bunlar virgüllerle ayrılır,<br />

ancak her bir değişkenin tür bilgisi yeniden yazılır. Örnek :<br />

int func(int x, int y)<br />

{<br />

/***/<br />

}<br />

double foo(double a, int b)<br />

{<br />

/***/<br />

}<br />

İşlev parametre değişkenleri aynı türden olsa bile her defasında tür bilgisinin yeniden<br />

yazılması zorunludur. Örneğin:<br />

int foo (double x, y) /* Geçersiz */<br />

{<br />

/***/<br />

}<br />

bildirimi hatalıdır. Doğru tanımlama aşağıdaki biçimde olmalıdır:<br />

int foo (double x, double y)<br />

{<br />

/***/<br />

}<br />

[C++ dilinde eski biçim işlev tanımlamaları geçerli değildir.]<br />

Parametre Değişkenine Sahip Olmayan İşlevler<br />

Her işlev parametre değişkenine sahip olmak zorunda değildir. Bazı işlevler istenen bir işi<br />

yapabilmek için dışarıdan bilgi almaz. Parametre değişkenine sahip olmayan bir işlevin<br />

tanımında, işlev parametre ayracının içi boş bırakılır. İşlev parametre ayracının içine void<br />

anahtar sözcüğünün yazılması durumunda da işlevin parametre değişkenine sahip<br />

olmadığı sonucu çıkar.<br />

int foo()<br />

{<br />

/***/<br />

}<br />

ile<br />

int foo(void)<br />

{<br />

/***/<br />

}<br />

60/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!