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.