Standart C Programlama Dili


1.4. #define Ve #include Önişlemci Emirleri

Hemen bütün C derleyicileri, özel önişlemci emirlerini tanıyan bir önişlemciyi yapılarında bulundururlar. Önişlemci emirleri, bir bakıma, C derleyicisinin girdisini, yani kaynak kodu, kontrol etmede kullanılır. Bir önişlemci emrinin ilk karakteri her zaman numara işaretidir (#) ve kaynak programda satırın ilk karakteri olmalıdır. Normalde, önişlemci emirlerinin çoğu, kaynak programın başına, bildirimlerden önce yazılır.

C programlarında çokça kullanıldıkları için, bu bölümde sadece #define ve #include önişlemci emirleri anlatılmaktadır. Diğer önişlemci emirlerinin daha detaylı bir anlatımı Bölüm 6’da verilmektedir.

#define emri şu şekildedir:

#define tanıtıcı_sözcük  karakter_dizisi

Bu tür bir #define emri, emirden sonra gelen program deyimlerinde tanıtıcı_sözcük bulunan her yerde, onun yerine karakter_dizisinin konulacağını gösterir. Örneğin,

#define XYZ 100

emri, daha sonra, XYZ’nin her rastlandığı yerde 100 konulmasını sağlar. Program içinde kullanılacak değişmezleri tanımlamanın yaygın bir yolu da budur. #define emirleriyle tanımlanan tanıtıcı sözcüklerin büyük harfle yazılması alışılagelmiştir.

#include emri ya

#include "dosya_adı"

yada

#include <dosya_adı>

şeklinde olur ve önişlemciye #include satırının yerini, belirtilen dosyanın alacağını gösterir. Eğer dosya_adı çift tırnak içine alınmışsa, o zaman önişlemci, dosyayı kaynak program dosyasının saklandığı altdizinde arar. Eğer dosya_adı açılı parantezler içinde ise, o zaman dosya, böyle #include emirleri için aramaların yapıldığı “standart” altdizin(ler)de aranır. Bu, normalde, unix sistemlerde /usr/include altdizini olur.

#include emri, daha önceden hazırlanan, standart veya kullanıcı tarafından tanımlanan dosyalarda saklanan, sık kullanılan veri ve fonksiyon bildirimlerini programa dahil etmede kullanılır. Böyle dosyalara başlık dosyaları adı verilir ve isimleri dosyaadi.h şeklinde olur.