“Bir değişkenin bellekte kaç byte yer kapladığını bilmiyorsan, hata yapmayı göze alıyorsun demektir.”
Bu ifade C programlamada neden veri tipleri ve format belirleyicilerin kritik olduğunu çok iyi özetliyor. Özellikle junior geliştiriciler için bu konu çoğu zaman karışık gelir. Oysa doğru şekilde öğrenildiğinde C dilini daha güvenli, performanslı ve öngörülebilir kullanmak mümkün olur.
Bu içerikte C veri tiplerini sistematik şekilde inceleyecek, format belirleyicilerin nasıl çalıştığını anlayacak ve Python–JavaScript gibi modern dillerle karşılaştırmalı örneklerle kavrayacaksınız.
C Veri Tiplerinin Temelleri

2.1. Temel (Primitive) Veri Tipleri
C veri tipleri donanım seviyesine yakındır; bu yüzden bellek yönetimi açısından yüksek kontrol sağlar.
Sayısal Veri Tipleri
| Veri Tipi | Açıklama | Boyut |
|---|---|---|
int | Tam sayılar | 2–4 byte |
float | Tek duyarlıklı ondalık | 4 byte |
double | Çift duyarlıklı ondalık | 8 byte |
short, long | Değiştirilmiş tam sayı aralığı | Mimariye bağlı |
float yerine gerekmedikçe double kullanılan modern işlemcilerde performans kaybı minimaldir; fakat gömülü sistemler için bu durum değişir.
Karakter Ve Mantıksal Veri Tipleri
char: 1 byte, ASCII tabanlı karakter saklar.bool:<stdbool.h>ile kullanılabilir.
2.2. Türetilmiş Veri Tipleri
Diziler, Pointer’lar ve Yapılar
C dilinde diziler bellekte ardışık bloklardır ve doğrudan format belirleyicilerle birlikte kullanılabilir.
int nums[3] = {1, 2, 3};
printf("%d", nums[0]);Pointer’larda format belirleyici %p kullanılır.
3. Format Belirleyiciler Nedir?

C Veri tipleri programın ekrana yazdırdığı veya kullanıcıdan aldığı verinin türünü anlamlandırmak için kullanılır. printf ve scanffonksiyonlarının doğru çalışmasında temel rol oynarlar.
3.1. En Yaygın Format Belirleyiciler
| C Veri Tipi | Format Belirleyici | Açıklama |
|---|---|---|
int | %d | Tam sayı yazdırma |
float | %f | Ondalık sayı |
double | %lf | Daha yüksek hassasiyet |
char | %c | Tek karakter |
char[] | %s | String |
| Pointer | %p | Bellek adresi |
3.2. Hatalar ve Dikkat Edilmesi Gerekenler
Yanlış format belirleyici kullanımı
int x = 15;
printf("%f", x); // Yanlış






