Ö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
#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
#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
____ <stdio.h>
#include <stdio.h>
Açıklama: #include <stdio.h> ile standart giriş çıkış eklenir.