CodeBlanks Logo Icon CodeBlanks

typedef enum

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

typedef ile enum'a yeni isim vermeyi öğrenirsin.

typedef enum

typedef, bir türe yeni bir takma ad (alias) verir. typedef enum ile enum'a kısa bir isim verirsin; böylece her seferinde enum anahtar kelimesini yazmazsın.

Örnek: typedef enum { RED, GREEN, BLUE } Color;. Bundan sonra Color c = GREEN; yazabilirsin; enum Color c = GREEN; yazmaya gerek yok. Bu, kodu kısaltır ve temizler. Başlık dosyalarında yaygındır; çünkü API türlerini sade gösterir. typedef yeni bir tür yaratmaz; yalnızca mevcut türe ikinci bir isim ekler.

typedef kullanımı

typedef enum kullandıktan sonra değişken tanımı enum anahtar kelimesi olmadan yapılır. Bu, özellikle uzun enum isimlerinde okunurluğu artırır.

Örnek: typedef enum { LOW, MEDIUM, HIGH } Priority;. Sonra Priority p = HIGH; yazabilirsin. enum Priority p = HIGH; da hala geçerlidir; ama gerekmez. API tasarımında typedef kullanımı yaygın bir_standarttır; çünkü kullanıcının türün enum olduğunu bilmesi şart değildir. Bu, uygulama detayını gizler ve gelecekte değişiklik yapmayı kolaylaştırır.

Uygulama typedef enum ile iki renk yazdır

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

Başlangıç kodu

main.c
#include <stdio.h>

// typedef enum ile Color türünü tanımla (RED, GREEN, BLUE)
// main'de c'ye RED, g'ye GREEN ata ve yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

typedef enum { RED, GREEN, BLUE } Color;

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

Beklenen çıktı

0 1

Soru ve cevaplar

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

1 typedef enum {RED, GREEN, BLUE} Color; bildiriminde tür adı?

  • Color Doğru cevap
  • RED
  • enum Color
  • typedef

Açıklama: typedef, Color ismini enum türüne takma ad yapar.

2 typedef biçimlerini eşle

Kavram Anlamı
typedef enum {...} Color Tür takma adı
Color c Değişken tanımı
enum Color c Uzun yazım
RED, GREEN, BLUE Sabit listesi

3 typedef enum takma adını tamamla

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

Açıklama: Color, enum'a verilen takma addır.

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