Bu makalede, C programlamasının en temel unsurlarından biri olan "#define" ön işlemci direktifine odaklanacağız.
Eğer bir programcıysanız veya C dili hakkında biraz bilgi sahibiyseniz, "#define" direktifini daha önce görmüş veya duymuş olabilirsiniz. Ancak, bu yazıda, "#define" direktifinin ne olduğunu, nasıl kullanıldığını ayrıntılı bir şekilde inceleyeceğiz.
C dilinde "#define" direktifi, programcılara sabitler oluşturmak, kodu daha okunaklı hale getirmek ve tekrarlayan işlemleri basitleştirmek için güçlü bir araç sunar. Aynı zamanda, bu direktif, programın daha iyi optimize edilmesini sağlar.
Size #define kullanımı hakkında daha fazla bilgi vermek için, ayrıntılı bir örnek sunmak istiyorum.#include <stdio.h>
#include <stdlib.h>. //Bu satırlar, giriş/çıkış işlemleri için gerekli olan standart C kütüphanelerini dahil eder.
#define yazdir printf
#define okut scanf //#define ön işlemci direktifleri, yazdir adlı printf ve okut adlı scanf işlevlerini yeniden adlandırır. Bu, daha sonra yazdir ve okut kullanarak printf ve scanf işlevlerine erişmenizi sağlar.
int main() //Her C programının başlangıcı main fonksiyonudur. Programın ana yürütme noktası buradan başlar.
{
// ön işlemci komutları
// #define
// undef
int sayi; //Bir tamsayı değişkeni olan sayi'yi tanımlar.
printf("Merhaba Mustafa \n"); //Ekran üzerine "Merhaba Mustafa" metnini yazar.
yazdir("Mustafa Cakir \n"); //yazdir (yani printf) kullanarak "Mustafa Cakir" metnini yazar.
yazdir("Bir sayi giriniz: \n"); //Kullanıcıdan bir sayı girmesini isteyen bir mesajı yazar.
okut("%d",&sayi); //Kullanıcının girdiği sayıyı sayi değişkenine okur. okut (yani scanf) işlevi kullanılarak, %d belirteci bir tamsayı girmesi gerektiğini ve bu değeri sayi değişkenine atadığını belirtir.
yazdir("Girdiginiz sayi : %d\n",sayi); //Kullanıcının girdiği sayıyı ekrana yazar.
#undef yazdir //yazdir adını kaldırır. Artık yazdir kullanılamaz.
yazdir("Bir sayi giriniz: \n"); //Ancak, yazdir artık tanımlanmadığı için, bu kod satırı hata verecektir. Bu satır, #undef ile yazdir'ın tanımı kaldırıldığı için çalışmaz.
}
Hiç yorum yok:
Yeni yorumlara izin verilmiyor.