C Programlamada Değişkenler ve Sabitler

“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ılar

  • float: ondalıklı sayılar

  • char: karakterler

  • double: 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 Değişkenler

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;

ÖzellikCPythonJavaScript
Değişken Tanımıint x = 5;x = 5let x = 5;
Sabit Tanımıconst int MAX = 100; veya #defineDoğrudan yok, genelde PI = 3.14yazılırconst PI = 3.14;
Tür BelirtmeZorunlu (statik tip)Gerekli değil (dinamik tip)Gerekli değil (dinamik tip)
Sabitlik GüvencesiDerleyici garantisi (constile)Disipline bağlı, teknik olarak değiştirilebilirGerçek sabitlik (yeniden atama yapılamaz)
Hata DurumuSabite atama → derleme hatasıSabite atama → çalışır ama kötü pratikSabite atama → çalışma zamanı hatası

Yaygın Hatalar ve İpuçları

  • Uninitialized değişken kullanımı: C’de değer atamadan değişken çağırmak belirsiz sonuç verir.

  • Tür uyumsuzluğu: int yerine float kullanmak bazen veri kaybına yol açar.

  • Magic number kullanımı: Tekrar eden sabitleri değişkenleştirin (const veya #define).

C Programlamada Değişkenler ve Sabitlerin Karşılaştırması

ÖzellikDeğişkenlerSabitler
Değiştirilebilir mi?EvetHayır
Bellekte saklamaRAMRAM (ama değer sabittir)
Kullanım amacıDinamik veriDeğişmeyen değer
Örnekint x = 5;const int MAX = 100;

 

 

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

İlgili Yazılar