Standart C Programlama Dili


1.8. C Deyimleri Ve Program Gövdesi

C programları deyimlerden oluşur. Yazılabilecek en basit deyim bir ifade deyimidir. Bir ifade deyimi, arkasına noktalı virgül konmuş herhangi bir ifadedir. Örneğin,

a + b * c;
i++;

iki ayrı ifade deyimidir; ancak bunlardan ilki pek bir işe yaramaz, oysa ikincisi, yan etkisinden dolayı, bir işe yarar: i’nin değerinin bir artırılmasına neden olur.

Bileşik bir deyim dışında her deyim noktalı virgülle sona erer.

Bir bileşik deyim (ayrıca, bildirimler içerdiği zaman, “blok” da denir), aşağıdaki gibi çengelli parantezler arasına alınmış bir deyimler sırasıdır. Bileşik deyimden sonra noktalı virgül olmadığına dikkat edin.

{
  bildirimleropt
  deyim1 opt
  deyim2 opt
  ...
  deyimn opt
}

Sözdizimsel açıdan bir bileşik deyim tek bir deyime eşdeğerdir. İsteğe bağlı olarak, bir bileşik deyimin ilk yürütülebilir deyiminden önce değişken tanımları ve bildirimleri bulunabilir. Tanımların bir bileşik deyim içine konmasının önemli bir sonucu vardır. Yürütme esnasında, bir bileşik deyim içinde tanımlanmış bulunan değişkenler için bloğa girildiğinde bellek ayrılır; bloktan çıkıldığında ise bu bellek bölgesi serbest bırakılır. Eğer bileşik deyim dışında aynı isimde değişkenler varsa, bloğa girildiğinde, bunların kimlikleri geçici olarak “unutulur” ve yeni tanımlar etkili olur. Bloktan çıkıldığında eski tanımlar etkilerini tekrar kazanırlar. Bu durum içiçe olan bloklar için meydana gelebilir.

Şimdilik, bir C programının genel şekli aşağıdaki gibi özetlenebilir:

/* * * * * * * * * * * * * * * * * * * * * * * * * * *\
 *                                                   *
 *  Programin ne yaptigini, kimin tarafindan, ne     *
 *   zaman yazildigini vs belirten aciklamalar.      *
 *                                                   *
\* * * * * * * * * * * * * * * * * * * * * * * * * * */
...
bütün önişlemci emirleri
...
int main (void)
{
  ...
  veri tanımları
  ...
  deyimler
  ...
  return 0;
} /* main */

Program gövdesinin büyük bileşik bir deyimden oluştuğuna dikkat ediniz. Daha sonra anlatılacağı gibi, fonksiyon tanımları da aynı şekilde yazılır, yani ana program da bir bakıma bir fonksiyondur.