Ön İşlemci Komutları

Başka programlama dilleriyle uğraşanlar bilecektir sabitler tanımlardık. Ve bu sabitin değeri hiçbir yerde değişmez istediğimiz yerde çağırabilirdik veya bir foksiyonun ismini değiştirebilir istediğimiz gibi çağırabiliriz. Kafanız biraz karışmış olabilir incelemeye başlayalım;

#define Ön İşlemci Komutu

Tanımlama işlemleri için kullanılır. Örneğin bir PI değişkenine değerini atayarak tanıtırız ve her yerde kullanırız.(Derleyiciye tanıtmış oluyoruz, global değişken gibi düşünmeyin)

Mesela bir çember alanı hesaplayan program yapalım;

#include
#define PI 3.1415//Pı'yi tanımladık
int main (void)
{
int yaricap;
float alan;
prinf("Yarı çapı giriniz");
scanf("%f",&yaricap);
alan = PI * yaricap * yaricap;//Ve kullandık
printf( "Çember alanı: %.2f\n", alan );
return 0;
}

#define ile yapabileceğimiz bir şey ise hazır fonksiyonların isimlerini değiştirmektir.

#include
#define ekrana_yazdir printf
#define deger_al scanf
int main (void)
{
int sayi;
ekrana_yazdir ("Bir sayı giriniz");
deger_al("%d",&sayi);
ekrana_yazdir ("Girdiğiniz sayi : %d\n",sayi);
return 0;
}

Bence anlamışınızdır

#define ile fonksiyon bile yazılır ama fazla fantezilere kaçmamak lazım

#undef Ön işlemci Komutu

Bir yerden sonra #define ile yaptıklarımızı iptal ettirmek isteyebiliriz. Bunun için #undef komutunu kullanırız.#undef PI dediğimiz anda PI diye bir şey ortalıkta kalmaz

#ifdef(Şayet varsa ) ve #ifndef(şayet yoksa) Ön İşlemci Komutları

Benim gibi iki satır kod yazıyorsanız bunlar pek işinize yaramaz ancak uzun kodlar yazdığımızda #defin ile o şeyi tanımladık mı tanımlamadık mı diye hatırlamayabiliriz. Bunun için #ifdef ve #ifndef kullanılır. Kısaca yine daire alanı hesaplama ile bir örnek verelim;

#include
#define PI 3.14
int main( void )
{

#undef PI//Pı yi yok ettik

int yaricap;
float alan;
printf( "Çemberin yarı çapını giriniz> " );
scanf( "%d", &yaricap );
#ifdef PI//kontrol ediyoz
alan = PI * yaricap * yaricap;//Tanımlıysa yapılacaklar
printf( "Çember alanı: %.2f\n", alan );
#else
printf("Bacım bişeler ters gidiyo galiba PI'yi tanımlayıp sildin");
//Tanımlı değilse yapılacaklar
#endif
return 0 ;
}

#include Ön İşlemci Komutu

#include<stdio.h> yi şimdiye kadar hep kullandık ama neden kullandık
scanf, printf gibi hazır fonksiyonları kullanmak için. Hazır kütüphanelerde diyebiliriz bunlara mathı bi biliyorum birde kullandığımız stdio.h bunlar içinde hazır fonksiyonlar bulundururlar. Bunları kullanmak için #include ile dahil ediyoruz. İleride kendi kütüphanelerimizi dahil etmek istediğinizde ise < > arasına değilde ” ” arasına tanımlayacağız.#include”maygun.h” gibidir.

Yorum yapın