Header Oluşturma
Header Oluşturma
Header(başlık) dosyaları programın başında #include ile tanımladığımızı .h uzantılı dosyalardır. Programın içerisinde bazı fonksiyonları kullanmamız için bu .h uzantılı dosyaları tanımlamamız gerekir. Bazı .h uzantılı dosyaları burada bulabilirsiniz.
Nedir Bu Header?
Header (başlık) dosyaları program kod satırları yazmaya başlandığı zaman program sizin her yazacağınız terimin türünü,ismin, yapısını vb. gibi tüm tanımlamaları sizden isteyecektir. Hatırlayacağınız üzere C programlamada programın kütüphane tanımladığımız kısmında #include <stdio.h> kütüphanesini eklemediğimiz zaman programda girdi ve çıkıtı (printf ve scanf) komutlarını kullanamıyorduk, işte bu kütüphaneyi tanımladığımız zaman bize bu fonksiyonları kullanma hakkı veriyordu. Kısacası header dosyaları birer alt fonksiyonlardan oluşan kütüphanelerdir.
Nasıl Çalışıyor Bu Header?
Header çalışma mantığını ve kullanımı anlamak için bir örnek üzerinden inceleyelim.
#include <stdio.h> int main { printf("Hello"); return 0; }
yukarıdaki her yerde milyonlarca görebileceğiniz ilk c programında şöyle düşünebiliriz; iostream adında bir header dosyasının içerisinde printf adlı alt programa “Hello” yazısı gönderilmekte ve bu alt fonksiyon çıktıyı bize geri göndermektedir.
#include <stdio.h> int kare( int ); void kare1 (int); void kare2 (void); int kare3 (void); int main( ) { int x=2; printf("int kare (int) %d dir \n", kare(x)); kare1(x); kare2(); printf("int kare3 (void) %d dir \n", kare3()); return 0; } /*Fonksiyon tanımı*/ int kare( int y ) { return y + y; } void kare1(int z) { printf("void kare1 (int) %d dir\n ",z/z); } void kare2 (void) { printf("Deger Donmedi\n"); } int kare3 (void) { int m=5; return m; }
yani header dosyasını yukarıdaki gibi bir alt fonksiyonların tanımlandığı bir fonksiyonlar bütünü olarak düşünürsek hangi fonksiyona erişmek istiyorsak örneğin kare ( int) ile bu fonksiyona erişilmiş ve bir değer gönderilmiştir. Header dosyalarıda bu tarz fonkisyonlardan oluşur.
Kendi Header Dosyamızı Oluşturalım
Başlık dosyası oluşturmadan önce şunu bilmekte var başlık dosyaları genellikle veri türleri, işlev protatipleri ve c önişlemci tanımları içerir.
Şimdi aşağıda 2 adet Header dosyasının içeriği olan fonksiyon yazalım ve bunu .h uzantılı olacak şekilde kaydedelim.
void toplama(int a, int b) { printf("Toplama Sonucu=%d\n", a + b); } void carpma(int a, int b) { printf("Carpma Sonucu=%d\n", a * b); }
Oluşturduğumuz fonksiyonu .h uzantılı kayıt ettikten sonra başka bir programda bu header çağıralım ve ona işlem yaptıralım.
#include <stdio.h> #include "turkmuhendis.h" int main() { toplama(4, 6); carpma(5, 5); printf("iyi Calismalar"); return 0; }
Yukarıda gördüğünüz üzere başka bir fonksiyonda oluşturmuş olduğum programda yazmış olduğum header çağırdım ve içinde tanımlı olan fonksiyonlara işlem yaptırdım.
C de tanımlı bütün header dosyaları bu şekilde çalışır.Diğer header dosyaları için …
Daha geniş kullanımlarını anlatsanız güzel olurdu.
Öneriniz için teşekkür ederim.