CodeBlanks Logo Icon CodeBlanks

enum

  • C kursu
  • Orta seviye
  • Ders 37/116
  • 5 dk

enum ile adlandırılmış sabitler tanımlamayı öğrenirsin.

enum

Bir enum, adlandırılmış tamsayı sabitleri listeler. Sihirli sayıları (magic numbers) anlamlı isimlerle değiştirmenin temel yoludur; kod okunurluğunu artırır.

Örnek: enum Color { RED, GREEN, BLUE };. Burada RED = 0, GREEN = 1, BLUE = 2'dir. Varsayılan olarak ilk sabit 0'dır ve sonrakıler bir artar. Kullanım: enum Color c = GREEN; printf("%d\n", c); ekrana 1 yazar. enum sabitleri derleme anında yer değiştirilir; çalışma anında bellek kaplamaz. Bu yüzden verimli ve yaygındır.

Açık değer atama

enum sabitlerine varsayılan dışında açık değer verebilirsin. Bu, özel kod listeleri tanımlamak için yararlıdır.

Örnek: enum Level { LOW = 10, MEDIUM = 20, HIGH = 30 };. Artık LOW 10'dur. Veya kısmi açık değer: enum Code { A = 1, B, C = 10, D };. Burada B = 2 (A'dan bir artar), C = 10 (açık), D = 11 (C'den bir artar). Bu esneklik, protokol kodları ve hata numaraları tanımlarken kullanışlıdır. Yine de karmaşık değer düzenlerinden kaçınmak okunurluğu korur.

Uygulama enum ile renk seç ve yazdır

enum Color tanımla: RED, GREEN, BLUE. main içinde enum Color c = GREEN; yaz ve printf("%d\n", c); ile yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

// enum Color tanımla (RED, GREEN, BLUE)
// main'de c'ye GREEN ata ve yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

enum Color { RED, GREEN, BLUE };

int main(void) {
    enum Color c = GREEN;
    printf("%d\n", c);
    return 0;
}

Beklenen çıktı

1

Soru ve cevaplar

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

1 enum sabitlerini değerine eşle

Kavram Anlamı
enum Color Enum türü
RED 0 (varsayılan)
GREEN 1
BLUE 2

2 enum'un ilk değeri varsayılan olarak kaçtır?

  • 1
  • -1
  • 0 Doğru cevap
  • Sınırsız

Açıklama: enum'un ilk sabiti varsayılan olarak 0'dır.

3 enum sabitini tamamla

Soru
enum Color { RED, ____, BLUE };
Cevap
enum Color { RED, GREEN, BLUE };

Açıklama: GREEN, RED'den sonra birer artar; değeri 1 olur.

Orta seviye bölümündeki tüm dersler