1.4. #define
Ve #include
Önişlemci Emirleri
Tüm Standart 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.