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.