CodeBlanks Logo Icon CodeBlanks

Özet - Önişlemci

  • C kursu
  • Başlangıç
  • Ders 111/116
  • 5 dk

#define, #include ve #ifdef'i birleştirerek bir yapılandırma başlığı yazarsın.

Özet - Önişlemci

Bu grupta önişlemci komutlarını öğrendin. #define sabit ve makro tanımlar; #include başlık ekler; #ifdef/#ifndef/#endif koşullu derleme yapar. Makro fonksiyonlar parametre alır; header dosyaları include guard ile korunur.

#define PI 3.14
#include <stdio.h>
#define SQUARE(x) ((x) * (x))
#ifdef DEBUG
    printf("debug");
#endif

Önişlemci, derlemeden önce kodu metin olarak değiştirir. Bu yüzden tür denetimi yapmaz; dikkatli kullanmak gerekir. Şimdi tüm bu komutları birleştiren bir ödev yapacaksın.

Uygulama VERSION ve PRINT_VERSION makroları

#define VERSION 3 ve #define PRINT_VERSION(v) printf("v%d\n", v) makrolarını tanımla. main içinde PRINT_VERSION(VERSION) çağrısı yap.

Başlangıç kodu

main.c
#include <stdio.h>

// VERSION 3 ve PRINT_VERSION(v) makrolarını tanımla
int main(void) {
    // PRINT_VERSION(VERSION) çağrısı yap
    return 0;
}

Örnek çözüm

main.c
#define VERSION 3
#define PRINT_VERSION(v) printf("v%d\n", v)
PRINT_VERSION(VERSION);

Beklenen çıktı

v3

Soru ve cevaplar

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

1 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

2 Sabit bir değer için en uygun yöntem nedir?

  • int değişken
  • statik değişken
  • #define makrosu Doğru cevap
  • extern değişken

Açıklama: Sabitler için #define makrosu uygundur.

3 Boşluğu doldur: #include komutu

Soru
____ <stdio.h>
Cevap
#include <stdio.h>

Açıklama: #include <stdio.h> ile standart giriş çıkış eklenir.

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