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ı
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]’da verilmektedir.
#define emri şu şekildedir:
#define tanıtıcı_sözcük karakter_dizisiBu 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 100emri, 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.