Enum Değerleri ve Aralıklar
Temel tamsayıları denetleyin.
Enum Değerleri ve Aralıklar, CoddyKit'te ücretsiz bir C Academy dersidir. Bu, 4 dersinin 2. 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.
Açık Değerler Atama
Varsayılan 0, 1, 2 dizisiyle sınırlı değilsiniz. = kullanarak bir ada herhangi bir tamsayı atayabilirsiniz.
Bu, sayıların HTTP durum kodları gibi harici bir sistemle eşleşmesi gerektiğinde kullanışlıdır.
enum Http { OK = 200, NOT_FOUND = 404, ERROR = 500 };Özel Değerleri Yazdırma
Atama yapıldıktan sonra depolanan ve yazdırılan değerler tam olarak bu sayılar olur.
Burada numaralandırma adları standart HTTP kodlarıyla doğrudan eşleştirilmiştir.
#include <stdio.h>
enum Http { OK = 200, NOT_FOUND = 404, ERROR = 500 };
int main(void) {
printf("%d %d\n", OK, NOT_FOUND);
return 0;
}Açık ve Varsayılan Değerleri Birlikte Kullanma
Bazı değerleri belirleyip diğerlerini boş bırakırsanız her boş ad, önceki değerden saymaya devam eder.
Bu nedenle = 10 ifadesinden hemen sonraki ad 11, sonraki ad 12 olur ve böyle devam eder.
#include <stdio.h>
enum N { A = 10, B, C, D = 100, E };
int main(void) {
printf("%d %d %d %d %d\n", A, B, C, D, E);
return 0;
}Birden Başlatma
Yaygın bir yöntem, ilk değeri 0 yerine 1 yaparak numaralandırmayı insanların sayma biçimiyle eşleştirmektir.
Burada MON 1'dir; böylece günler 1'den 7'ye kadar numaralanır.
#include <stdio.h>
enum Day { MON = 1, TUE, WED, THU, FRI, SAT, SUN };
int main(void) {
printf("%d %d\n", MON, SUN);
return 0;
}Yinelenen Değerlere İzin Verilir
İki numaralandırma adı aynı tamsayı değerini paylaşabilir. C, bunların benzersiz olmasını zorunlu kılmaz.
Bu yöntem bazen aynı kavram için diğer adlar oluşturmak amacıyla kullanılır.
#include <stdio.h>
enum Color { RED = 1, CRIMSON = 1, BLUE = 2 };
int main(void) {
printf("%d %d\n", RED, CRIMSON);
return 0;
}Negatif Değerler
Numaralandırma değerleri negatif de olabilir. Bunlar işaretli tamsayılardır.
Bu, hata kodlarını nötr veya pozitif bir aralığın yanında sıfırın altında ifade etmenizi sağlar.
#include <stdio.h>
enum Temp { COLD = -1, NORMAL = 0, HOT = 1 };
int main(void) {
printf("%d %d %d\n", COLD, NORMAL, HOT);
return 0;
}COUNT Sonlandırıcısı Yöntemi
Ögeleri 0'dan başlayarak listeler ve sona bir ad eklerseniz bu son ad, ögelerin sayısına eşit olur.
Bu COUNT yöntemi, yeni ögeler ekleseniz bile boyutu otomatik olarak verir.
#include <stdio.h>
enum Fruit { APPLE, PEAR, KIWI, FRUIT_COUNT };
int main(void) {
printf("%d fruits\n", FRUIT_COUNT);
return 0;
}Dizi İndisleri Olarak Numaralandırmalar
Numaralandırma değerleri tamsayı olduğu için mükemmel dizi indisleri oluştururlar.
COUNT yöntemiyle birlikte kullanıldıklarında bir dizinin boyutunu tam olarak belirleyebilir ve diziyi okunabilir adlarla indisleyebilirsiniz.
#include <stdio.h>
enum Fruit { APPLE, PEAR, KIWI, FRUIT_COUNT };
int main(void) {
int stock[FRUIT_COUNT] = {5, 3, 8};
printf("%d\n", stock[PEAR]);
return 0;
}Temel Tür
Standart C'de numaralandırma değerleri, derleyicinin seçtiği bir tamsayı türünde, genellikle int türünde saklanır.
Tür, tanımladığınız her değeri tutacak kadar geniştir; bu nedenle büyük veya negatif sabitler de sığar.
#include <stdio.h>
enum Big { SMALL = 0, LARGE = 1000000 };
int main(void) {
printf("%d\n", LARGE);
return 0;
}Yerleşik Aralık Denetimi Yoktur
C, bir numaralandırma değişkenine listedeki değerlerin dışında bir değer atamanıza engel olmaz.
Aşağıdaki atama derlenir ve çalışır. Değerleri geçerli tutmak sizin sorumluluğunuzdadır.
#include <stdio.h>
enum Level { LOW, MID, HIGH };
int main(void) {
enum Level x = 99;
printf("%d\n", x);
return 0;
}Bir Aralık Üzerinde Döngü Kurma
Bir numaralandırma 0'dan bir COUNT sonlandırıcısına kadar uzanıyorsa basit bir for ile her değer üzerinde döngü kurabilirsiniz.
Bu işlem, tanımlanmış her ögeyi sayım değerine dâhil etmeden son ögeye kadar dolaşır.
#include <stdio.h>
enum Fruit { APPLE, PEAR, KIWI, FRUIT_COUNT };
int main(void) {
for (int f = APPLE; f < FRUIT_COUNT; f++)
printf("%d ", f);
printf("\n");
return 0;
}Kısa Kontrol
Karışık numaralandırma değerleri hakkında akıl yürütünüz.
Özet
Açık numaralandırma değerleri atayabilir, bunları varsayılan değerlerle karıştırabilir, değerleri yineleyebilir ve negatif değerler kullanabilirsiniz.
COUNT sonlandırıcısı yöntemi liste boyutunu otomatik olarak izler ve numaralandırmalar dizi indisleri olarak çok iyi çalışır. Unutmayınız: C aralık denetimi yapmaz; bu nedenle değerleri kendiniz doğrulamalısınız.
Sıkça Sorulan Sorular
“Enum Değerleri ve Aralıklar” dersi ücretsiz mi?
Evet — “Enum Değerleri ve Aralıklar” 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 Değerleri ve Aralıklar” dersinde ne öğreneceğim?
Temel tamsayıları denetleyin. 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 2. dersidir.
“Enum Değerleri ve Aralıklar” 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
- Enum Tanımlama
- Enum Değerleri ve Aralıklar
- const Değişkenleri
- #define Sabitleri