0Pricing
C Academy · Ders

Enum Tanımlama

Okunabilir, adlandırılmış değerler oluşturun.

Enum Tanımlama, CoddyKit'te ücretsiz bir C Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C Academy kursu toplamda 4 dersten oluşur.

Numaralandırma Nedir

Numaralandırma, adlandırılmış tamsayı sabitlerinden oluşan bir grubu tanımlayan, kullanıcı tarafından oluşturulmuş bir türdür.

0'ın pazartesi, 1'in salı anlamına geldiğini hatırlamak yerine bu sayılara okunabilir adlar verirsiniz. Böylece kod daha anlaşılır olur ve hata yapma olasılığı azalır.

Temel Söz Dizimi

Bir numaralandırmayı enum anahtar sözcüğü, bir etiket adı ve süslü parantezler içindeki adlar listesiyle bildirirsiniz.

Her ad, bir tamsayının beklendiği her yerde kullanabileceğiniz bir sabite dönüşür.

enum Weekday { MON, TUE, WED, THU, FRI };

Varsayılan Değerler 0'dan Başlar

Varsayılan olarak ilk ad 0'dır ve sonraki her ad bir öncekinden bir fazladır.

Bu nedenle enum Weekday içinde MON 0, TUE 1, WED 2 olur ve böyle devam eder.

#include <stdio.h>
enum Weekday { MON, TUE, WED, THU, FRI };
int main(void) {
    printf("%d %d %d\n", MON, TUE, WED);
    return 0;
}

Numaralandırma Değişkeni Bildirme

Bir numaralandırma türü oluşturulduktan sonra bu türden değişkenler oluşturabilirsiniz.

Değişken, adlandırılmış değerlerden birini tutar. Perde arkasında bu değer yalnızca bir int'dir.

#include <stdio.h>
enum Weekday { MON, TUE, WED, THU, FRI };
int main(void) {
    enum Weekday today = WED;
    printf("today = %d\n", today);
    return 0;
}

Numaralandırmalar Okunabilirliği Neden Artırır

if (state == 2) ile if (state == PAUSED) ifadelerini karşılaştırınız.

İkincisi kendi kendini açıklar. Numaralandırmalar, gizemli sayılar yerine temiz ve adlandırılmış değerleri okurken derleyicinin anlamı izlemesine olanak tanır.

enum Status { RUNNING, PAUSED, STOPPED };

Numaralandırmaları Seçim Deyimleriyle Kullanma

Numaralandırmalar switch deyimleriyle doğal biçimde eşleşir. Her adlandırılmış değer, anlaşılır bir durum etiketi hâline gelir.

Bu, numaralandırmaların gerçek hayattaki en yaygın kullanım alanlarından biridir.

#include <stdio.h>
enum Status { RUNNING, PAUSED, STOPPED };
int main(void) {
    enum Status s = PAUSED;
    switch (s) {
        case RUNNING: printf("running\n"); break;
        case PAUSED:  printf("paused\n");  break;
        case STOPPED: printf("stopped\n"); break;
    }
    return 0;
}

Numaralandırmalar Yalnızca Tamsayılardır

Numaralandırma sabitleri tamsayılarla birbirlerinin yerine kullanılabilir. Bunlarla aritmetik işlemler ve karşılaştırmalar yapabilirsiniz.

Bu esneklik kullanışlıdır; ancak C'nin aralık dışı bir sayıyı saklamanıza engel olmayacağı anlamına da gelir.

#include <stdio.h>
enum Level { LOW, MID, HIGH };
int main(void) {
    enum Level next = LOW + 1;
    printf("%d\n", next);
    return 0;
}

Adsız Numaralandırmalar

Adlandırılmış bir türe değil, yalnızca sabitlere ihtiyacınız varsa etiket adını atlayabilirsiniz.

Bu, ilişkili tamsayı sabitlerinden oluşan bir grubu tanımlamanın hızlı bir yoludur.

#include <stdio.h>
enum { RED, GREEN, BLUE };
int main(void) {
    printf("%d %d %d\n", RED, GREEN, BLUE);
    return 0;
}

Adlandırma Kuralları

Geleneksel olarak numaralandırma sabitlerinin adları makrolar gibi BÜYÜK_HARFLERLE yazılır.

Bu, okuyuculara değerin değişmez bir sabit olduğunu belirtir. Etiket adı çoğu zaman CamelCase veya PascalCase biçimini kullanır.

enum TrafficLight { LIGHT_RED, LIGHT_YELLOW, LIGHT_GREEN };

Tür Tanımıyla Birleştirme

Her yerde enum Weekday yazmak uzundur. Bir typedef kısa bir ad kullanmanızı sağlar.

Tür tanımından sonra değişkenleri Weekday today; biçiminde, enum anahtar sözcüğü olmadan bildirebilirsiniz.

#include <stdio.h>
typedef enum { MON, TUE, WED } Weekday;
int main(void) {
    Weekday d = TUE;
    printf("%d\n", d);
    return 0;
}

Numaralandırma Sabitlerinin Kapsamı

Numaralandırma sabitlerinin adları, kapsamlarındaki sıradan tanımlayıcılarla aynı ad alanını paylaşır.

Bu, aynı kapsamdaki iki numaralandırmanın aynı sabit adını yeniden kullanamayacağı anlamına gelir. Çakışmaları önlemek için farklı adlar seçiniz.

enum A { OPEN, CLOSED };
enum B { LOCKED, UNLOCKED };

Kısa Kontrol

Numaralandırma varsayılları hakkındaki anlayışınızı sınayınız.

Özet

Bir numaralandırma, adlandırılmış tamsayı sabitlerini tanımlar. İlki 0'dır; siz farklı bir değer belirtmedikçe sonraki her ad bir fazlasını alır.

Numaralandırmalar kodu okunabilir kılar, switch ile iyi çalışır ve typedef ile kısaltılabilir. Sırada özel değerleri ve aralıkları inceleyeceğiz.

Sıkça Sorulan Sorular

“Enum Tanımlama” dersi ücretsiz mi?

Evet — “Enum Tanımlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C Academy kursu toplamda 4 dersten oluşur.

“Enum Tanımlama” dersinde ne öğreneceğim?

Okunabilir, adlandırılmış değerler oluşturun. C Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Enum Tanımlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Enum Tanımlama
  2. Enum Değerleri ve Aralıklar
  3. const Değişkenleri
  4. #define Sabitleri
← C Academy Sayfasına Dön