CodeBlanks Logo Icon CodeBlanks

#define

  • C kursu
  • Başlangıç
  • Ders 106/116
  • 4 dk

#define ile sabit ve makro tanımlamayı öğrenirsin.

#define: sabit ve makro tanımlama

#define önişlemci komutu bir ada değer verir. Derlemeden önce önişlemci bu adı değerle değiştirir.

#define PI 3.14
#define MAX_USERS 10

printf("%.2f", PI);  /* 3.14 */

Burada PI ve MAX_USERS sabitlerdir; kodun her yerinde adları kullanılır, derleme öncesi değerlerine dönüşürler. Bu, büyülü sayıları (magic number) adlandırmak için standart bir yoldur. Değerin türü olmadığı için derleyici denetimi yapmaz; dikkatli kullanmak gerekir.

Sabitlerle büyülü sayılardan kaçınma

Kodda anlamsız sayılar yerine #define ile adlandırılmış sabitler kullanmak kodu okunaklı yapar.

#define BUFFER_SIZE 256
char buf[BUFFER_SIZE];
fgets(buf, BUFFER_SIZE, stdin);

Burada 256 sayısı iki kez geçiyor; ama adı BUFFER_SIZE olduğu için değiştirmek tek yerden yapılır. Sayının anlamı da adından bellidir. Bu yöntem, özellikle tekrar edilen değerler için çok değerlidir.

Uygulama PI sabitini tanımla ve yazdır

#define PI 3.14 ile bir sabit tanımla. main içinde printf ile PI değerini %.2f biçiminde yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

// PI adında bir sabit tanımla (3.14)
int main(void) {
    // printf ile PI değerini yazdır
    return 0;
}

Örnek çözüm

main.c
#define PI 3.14
printf("%.2f\n", PI);

Beklenen çıktı

3.14

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 #define ne işe yarar?

  • Fonksiyon tanımlar
  • Değişken tanımlar
  • Sabit ve makro tanımlar Doğru cevap
  • Tür tanımlar

Açıklama: #define sabit ve makro tanımlar; derlemeden önce değiştirilir.

2 Boşluğu doldur: #define sabit

Soru
____ PI 3.14
Cevap
#define PI 3.14

Açıklama: #define PI 3.14 ile sabit tanımlanır.

3 Komut ve görev eşleştir

Kavram Anlamı
#define Sabit tanımlar
#include Başlık ekler
#ifdef Koşullu derleme
#endif Bloğu bitirir

Başlangıç bölümündeki tüm dersler