20.1 #include Yönergesi
20.1 #include Yönergesi
Bu önişlemci verilen dosyanın içeriğini, kullanıldığı yerde kaynak dosyasının içine ekler. Çoğunlukla derleyiciye ait komut kütüphanelerinde bulunan fonksiyonların prototiplerinin ve diğer çeşitli tanımlamaların bulunlunduğu (h uzantılı) başlık dosyalarının programa dahil edilmesinde kullanılır[2]. İki tür kullanımı vardır:
1 |
#include <dosya_adı.h> |
veya
1 |
#include "dosya_adı.h" |
- Birinci kullanımda dosyanın nerede bulunduğu derleyici için verilen ulaşım yolu ile belirlenir. Bu yol genellikle include dizini ile son bulur. Başlık dosyalarının saklandığı include dizini
- Borland firmasına ait Turbo C derleyicisinde : C:\TC\INCLUDE
- Linux ortamında : /usr/include şeklindedir.
- İkinci kullanımlada dosyanın bulunduğu yer aktif dizin olarak kabul edilir. Aksi halde yol tam olarak verilmelidir.
#include deyimi ile program ilave edilecek dosya C fonksiyonları içerebileceği gibi basit deyimler de içerebilir. Bunun için bir sınırlandırma yoktur. Hatta uzantıları .h olması bile gerekmez. Program 20.1 ve Program 20.2’yi inceleyin.
Program 20.1: #include önişlemcisinin kullanımı için bir örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/* 20prg01.c: faktoriyel ve kombinasyon hesaplamaları */ #include <stdio.h> #include "komb.h" int main() { int i; /* 0 dan 10 yekadar olan sayıların faktoriyelleri */ for(i = 0; i<=10; i++) printf("%2d! = %d\n",i,faktoriyel(i)); /* 10'un 1li, 2li, ... kombinasyonları */ for(i = 0; i<=10; i++) printf("C(10,%2d) = %d\n",i,C(10,i)); return 0; } |
ÇIKTI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 C(10, 0) = 1 C(10, 1) = 10 C(10, 2) = 45 C(10, 3) = 120 C(10, 4) = 210 C(10, 5) = 252 C(10, 6) = 210 C(10, 7) = 120 C(10, 8) = 45 C(10, 9) = 10 C(10,10) = 1 |
Program 20.1’e 5.satırda #include önişlemcisi ile komb.h adlı başlık dosyası eklenmiştir. komb.h faktoriyel ve kombinasyon işlemleri için fonksiyonlar barındırır. Bu dosyanın içeriği şöyledir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/* komb.h Kombinasyon işlemleri ile ilgi fonksiyonlar */ /* n! sayısını gönderir */ int faktoriyel(int n){ int i, f; for(f=1, i=2; i<=n; i++) f *= i; return f; } /* n'nin r'li kombinasyonunu hesaplar */ int C(int n, int r){ return ( faktoriyel(n)/(faktoriyel(r)*faktoriyel(n-r)) ); } |
Program 20.2: #include önişlemcisinin kullanımı için başka bir örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
/* 20prg02.c: Klavyeden girilen bir doğal sayının, kaç basamaklı olduğunu bulup ekrana yazar. */ #include <stdio.h> int main(){ #include "bildirim.inc" printf("Bir dogal sayi gir: "); scanf("%d",&sayi); if(sayi<0) return BASARISIZ; b = 0; n = sayi; while(n>0){ n /= 10; b++; } printf("%d %d basamakli bir sayidir.\n",sayi,b); return BASARILI; } |
bildirim.inc Dosyası
1 2 3 |
#define BASARILI 0 #define BASARISIZ 1 int sayi, n, b = 0; |
ÇIKTI
1 2 |
Bir dogal sayi gir: 4578 4578 4 basamakli bir sayidir. |