Header Files
Header Files konusuna değinilen kısım.
Header Files Nedir?
Header Files, kodunuzu modüler hale getirmenizi sağlayan ve kodunuzu organize etmenize yardımcı olan önemli bir kavramdır. Header Files, C dilinde sıkça kullanılan işlevleri, veri yapılarını, sabitleri ve prototiplerini (deklarasyonlarını) içeren ayrı dosyalardır ve bu dosyalar programınızın kaynak kodundan ayrı olarak saklanır.
Header Files, .h
uzantısına sahiptir ve #include
ön işlemci direktifi kullanılarak ana programınıza dahil edilirler. Başlık dosyaları, genellikle işlevleri, veri yapılarını veya diğer kod bloklarını içermez, sadece bu kodların prototiplerini (deklarasyonlarını) içerir.
Farklı kaynak dosyalarında tanımlanmış olan fonksiyonları tek bir çatı altında toplayarak şayet diğer kaynak dosyalarında da kullanılması için, modüler bir yapı sunarak kullanılmasını sağlar.
Preprocessor Muhafaza Direktifleri (ifndef, define, endif):
Başlık dosyalarını derlemeden önce işlenmesi için #include
, tekrar tekrar dahil edilmesini önlemek için, #ifndef
(if not defined), #define
ve #endif
ön işlemci muhafaza direktifleri kullanılır. Bu direktifler, başlık dosyasının yalnızca bir kez dahil edilmesini sağlar;
#include
: Başlık dosyasının derlemeden önce işlenmesi gerektiğini derleyiciye yönlendirir ve gerekli tüm veri türlerini ve işlev tanımlarını içerir.#ifndef
: Belirli bir sembol daha önce tanımlanmadıysa (yani, başlık dosyası daha önce dahil edilmediyse), kodunuzu içine alır.#define
: Sembolü tanımlar ve belirtir ki başlık dosyası içe alındığında bu sembol tanımlıdır.#endif
: Başlık dosyasının sonunu işaretler.
Bu şekilde, başlık dosyası daha önce dahil edilmişse, tekrar dahil edilmez.
Header Forms
Başlık dosyalarını <header.h>
biçiminde dahil etmek ile "header.h"
biçiminde dahil etmek arasında fark vardır. Bu iki biçim, başlık dosyasının nerede bulunacağını ve nasıl dahil edileceğini belirtir.
#include <header.h>
(Kütüphane Başlık Dosyaları): Bu biçim, derleyicinin standard kütüphane veya diğer kütüphanelerde bulunan başlık dosyalarını aramasını sağlar. Yani,header.h
başlık dosyasını proje klasörünüzde değil, derleyici tarafından sağlanan bir kütüphane veya sistem kütüphaneleri içinde arar.
#include "header.h"
(Proje Başlık Dosyaları): Bu biçim, başlık dosyasının proje veya kaynak kodunuzun bulunduğu klasörde aranmasını sağlar. Yani,header.h
başlık dosyası projenizin içinde bulunmalıdır veya projenizin kaynak kodunun çalıştığı dizinde bulunmalıdır.
Genellikle, kendi projeniz için özel olarak oluşturduğunuz başlık dosyalarını "header.h"
biçiminde dahil edersiniz, çünkü bu dosyalar proje klasörünüzde bulunur. Öte yandan, derleyicinin veya sistem kütüphanelerinin başlık dosyalarını <header.h>
biçiminde dahil edersiniz çünkü bu dosyalar genellikle derleyici veya işletim sistemi tarafından sağlanır.
Last updated