const Değişkenleri
Değerleri salt okunur yapın.
const Değişkenleri, CoddyKit'te ücretsiz bir C Academy dersidir. Bu, 4 dersinin 3. 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.
const Ne Anlama Gelir
const anahtar sözcüğü, derleyiciye bir değişkenin değerinin ilklenmesinden sonra değişmemesi gerektiğini bildirir.
Daha sonra bu değeri değiştirmeye çalışırsanız derleme başarısız olur. Bu, sabit kalması gereken değerleri korur.
const int MAX_USERS = 100;Sabit Bildirme
Bir const değişkenine bildirim sırasında değer vermelisiniz; çünkü daha sonra bu değişkene atama yapamazsınız.
Burada PI bir kez ilklenir ve okuma amacıyla sıradan bir değişken gibi kullanılır.
#include <stdio.h>
int main(void) {
const double PI = 3.14159;
printf("%f\n", PI);
return 0;
}Bir Sabiti Değiştirmeyi Deneme
Bildirimden sonra bir const değişkenine atama yapmak derleme hatasıdır.
Aşağıdaki satır derleyici tarafından reddedilir; istediğimiz koruma tam olarak budur.
const int LIMIT = 50;
/* LIMIT = 60; <- compile error */Sabitlerin Türü Vardır
Ham bir makronun aksine, const değişkeninin derleyicinin denetlediği gerçek bir türü vardır.
Bu, tür güvenliği sağlar: derleyici RATE değerinin double olduğunu bilir ve yanlış kullanımlarda uyarı verir.
#include <stdio.h>
int main(void) {
const double RATE = 0.05;
double total = 200.0 * RATE;
printf("%.2f\n", total);
return 0;
}İşaretçilerle Sabitlik: Veri
İşaretçi sabitliğinin iki biçimi vardır. const int *p, p üzerinden işaret edilen verinin değiştirilemeyeceği anlamına gelir.
p'yi başka bir yeri gösterecek şekilde değiştirebilirsiniz; ancak p üzerinden yazamazsınız.
int x = 5;
const int *p = &x;
/* *p = 9; <- error: data is const */İşaretçilerle Sabitlik: İşaretçi
int *const p, işaretçinin kendisine yeniden atama yapılamayacağı, ancak verinin değiştirilebileceği anlamına gelir.
Bildirimleri sağdan sola okuyunuz: "p, int türüne işaret eden sabit bir işaretçidir".
int x = 5, y = 8;
int *const p = &x;
*p = 9; /* allowed */
/* p = &y; <- error: pointer is const */İşlev Bağımsız Değişkenlerini Koruma
Bir işaretçi parametresini const olarak işaretlemek, işlevin çağıranın verilerini değiştirmeyeceğini garanti eder.
Bu, amacı belgelemeyi sağlar ve derleyicinin yanlışlıkla yapılan yazma işlemlerini yakalamasına olanak tanır.
#include <stdio.h>
void show(const char *msg) {
printf("%s\n", msg);
}
int main(void) {
show("hello");
return 0;
}Hesaplamada const
Yaygın bir kullanım, vergi oranı veya dönüşüm katsayısı gibi sabit yapılandırma değerleridir.
Sabit değeri okumak formülü anlaşılır tutar ve değeri tek bir yerde bulundurur.
#include <stdio.h>
int main(void) {
const double KM_PER_MILE = 1.609;
double miles = 10.0;
printf("%.2f km\n", miles * KM_PER_MILE);
return 0;
}const'un Bellek Konumu Vardır
const gerçek bir değişken olduğundan bellekte yer kaplar ve adresini alabilirsiniz.
Bu, adresi olmayan ve yalnızca metin yerine koyma işlemi yapan #define makrosundan farklıdır.
#include <stdio.h>
int main(void) {
const int N = 42;
const int *p = &N;
printf("%d\n", *p);
return 0;
}Kapsam ve Ömür
Bir const, sıradan değişkenlerle aynı kapsam kurallarına uyar.
Bir işlevin içinde bildirilirse yereldir; dışında bildirilirse küreseldir. Bu kapsam özelliği, dosya genelindeki makrolara kıyasla başka bir avantaj sağlar.
#include <stdio.h>
const int GLOBAL_MAX = 1000;
int main(void) {
const int local_min = 1;
printf("%d %d\n", local_min, GLOBAL_MAX);
return 0;
}const ve Sihirli Sayılar
Kodunuzdaki doğrudan sayıları adlandırılmış const değerleriyle değiştirmek, "sihirli sayıları" ortadan kaldırır.
Değer değişirse, tüm programı taramak yerine yalnızca tek bir satırı düzenlersiniz.
#include <stdio.h>
int main(void) {
const int SECONDS_PER_MIN = 60;
int minutes = 5;
printf("%d seconds\n", minutes * SECONDS_PER_MIN);
return 0;
}Kısa Sınama
const davranışını ne kadar iyi anladığınızı sınayın.
Özet
Bir const değişkeni, derleyicinin değiştirilmeye karşı koruduğu, türü belirlenmiş salt okunur bir değerdir.
Bir makronun aksine türü, kapsamı ve adresi vardır. İşaretçilerle kullanıldığında const veriye, işaretçiye veya her ikisine uygulanabilir. Sırada bunu #define ile karşılaştıracağız.
Sıkça Sorulan Sorular
“const Değişkenleri” dersi ücretsiz mi?
Evet — “const Değişkenleri” 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.
“const Değişkenleri” dersinde ne öğreneceğim?
Değerleri salt okunur yapın. 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 3. dersidir.
“const Değişkenleri” 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