#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
#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
#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
____ PI 3.14
#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 |