“Bir yazılım projesi, bellek yönetimini doğru yapmazsa sağlam kalabilir mi?”
C Programlamada Değişkenler ve sabitler, C programlamanın temel taşlarıdır. Bellekte veri saklamanın ve yönetmenin yolu, değişkenleri ve sabitleri doğru anlamaktan geçer. Junior geliştiriciler için bu konu, gelecekte yazacakları her satır kodun kalitesini belirleyecek kritik bir adımdır.
C Programlamada Değişkenler Nedir?
C Programlamada değişkenler, program çalışırken değerleri değişebilen bellek alanlarıdır. C’de her değişkenin bir veri tipi, bir adı ve bir değeri vardır.
Veri Tipleri ve Örnekler
C’de sık kullanılan veri tipleri:
int: tam sayılarfloat: ondalıklı sayılarchar: karakterlerdouble: daha hassas ondalıklı sayılar
Örnek;
#include <stdio.h>
int main() {
int yas = 25;
float boy = 1.75;
char harf = 'A';
printf("Yas: %d, Boy: %.2f, Harf: %c\n", yas, boy, harf);
return 0;
}
Satır Satır Açıklama:
int yas = 25;→ bellekte 25 değerini tutan bir tam sayı değişkeni oluşturur.float boy = 1.75;→ virgüllü sayı için float tipinde değişken.char harf = 'A';→ tek tırnak içinde karakter saklanır.
C Programlamada Değişken Tanımlama Kuralları
C Programlamada değişkenler harfle veya
_ile başlamalı.C Programlamada Değişkenler oluşturulurken türkçe karakter kullanılmaz.
Rezerve edilmiş anahtar kelimeler (ör.
int,while) kullanılamaz.
int yas = 17; // Doğru Tanımlama float int = 1.75; // Yanlış => Rezerve edilmiş kelimeler kullanılamaz. int bir değişken ismi olamaz. char harf = 'A'; // Doğru Kullanım double pi; // YANLIŞ Kullanım

C Programlamada Sabitler (Constants) Nedir?
C programlamada sabitler, program boyunca değişmeyen değerlerdir. Kodun okunabilirliğini ve güvenliğini artırır.
const ve #define Kullanımı
#include <stdio.h>
#define PI 3.14159
int main() {
const int MAX_YAS = 100;
printf("Pi: %.2f, Max Yas: %d\n", PI, MAX_YAS);
return 0;
}
#define PI 3.14159;→ derleme öncesinde sabit değer atar.const int MAX_YAS = 100;→ değiştirilemeyen bir sabit değişken oluşturur
C Programlamada Sabitlerin Avantajları
Kod okunabilirliğini artırır.
Sihirli sayıları (magic number) engeller.
Hata riskini azaltır.
C, Python ve JavaScript’te Değişken-Sabit Karşılaştırması
Şimdi C programlamada değişkenler ve sabitleri diğer programlama dillerindeki değişkenler ve sabitler ile karşılaştıralım. Böylelikle programlama dillerinin arasındaki farklar daha net anlaşılacaktır.
C Progralama Dilinde;
int a = 10; const int b = 20; a = 15; // geçerli // b = 25; → derleme hatası
Python Programlama Dilinde;
x = 10 PI = 3.14 # Python'da sabit yok, büyük harf ile sabitmiş gibi kullanılır x = 20 # geçerli PI = 3.14159 # teknik olarak değiştirilebilir, ama önerilmez
JavaScript Programlama Dilinde;
let yas = 25; const PI = 3.14; yas = 30; // geçerli // PI = 3.14159; → hata verir
Not: JavaScript’te const gerçekten sabitlik sağlar, Python’da ise bu durum tamamen geliştiricinin disiplinine bırakılmıştır.
Gelin şimdi birde tablo üzerinden karşılaştıralım;
| Özellik | C | Python | JavaScript |
|---|---|---|---|
| Değişken Tanımı | int x = 5; | x = 5 | let x = 5; |
| Sabit Tanımı | const int MAX = 100; veya #define | Doğrudan yok, genelde PI = 3.14yazılır | const PI = 3.14; |
| Tür Belirtme | Zorunlu (statik tip) | Gerekli değil (dinamik tip) | Gerekli değil (dinamik tip) |
| Sabitlik Güvencesi | Derleyici garantisi (constile) | Disipline bağlı, teknik olarak değiştirilebilir | Gerçek sabitlik (yeniden atama yapılamaz) |
| Hata Durumu | Sabite atama → derleme hatası | Sabite atama → çalışır ama kötü pratik | Sabite atama → çalışma zamanı hatası |
SSS (FAQ)
1. C’de const ve #define arasındaki fark nedir?
const tip güvenliği sağlar, #define ise derleme öncesi metin değiştirme yapar.
2. Python’da sabit tanımlayabilir miyim?
Hayır, Python’da sabit yoktur; ama büyük harfle yazarak sabit gibi kullanılır.
3. Değişken tanımlamadan kullanırsam ne olur?
C’de bu durum belirsiz (undefined) davranışa yol açar.
4. Sabitler performansı artırır mı?
Dolaylı olarak evet; derleyici optimizasyon yaparken sabitlerden faydalanır.
5. Magic number neden kötü bir pratiktir?
Kod okunurluğunu düşürür, hataya açık hale getirir.
Unutmayın ; Bir satır kodun değeri, onu nasıl tanımladığınızla başlar. Değişkenler, programı esnek kılar; sabitler ise sınırları netleştirir. İkisi birlikte, okunabilir ve güvenilir yazılımın temelini oluşturur.
Kaynaklar



