# C

Adres: https://softwaredictionary.org/tr/terimler/c-language
Kategori: Programlama Dilleri
Son güncelleme: 2026-09-30
Okunuşu: si

Kısaca: C, belleğe doğrudan erişim sağlayan, derlenen ve düşük seviyeli bir programlama dilidir; işletim sistemlerinde, sürücülerde ve gömülü yazılımlarda kullanılır.

## C programlama dili nedir?

C, Dennis Ritchie tarafından 1970'lerin başında Bell Labs'te, aslen Unix işletim sistemini yazmak için geliştirilen genel amaçlı bir programlama dilidir. Küçük, hızlı ve donanıma yakındır: C kodu makine komutlarına oldukça doğrudan karşılık gelir; bu yüzden bazen "taşınabilir assembly dili" diye anılır. Dil ISO tarafından standartlaştırılmıştır ve en güncel standart C23'tür.

C statik tiplidir, ancak programcıya güvenir: değerler tipler arasında örtük olarak dönüştürülebilir ve işaretçiler (bellek adreslerini tutan değişkenler) serbestçe tür dönüşümüne uğratılabilir. Bellek elle yönetilir. Yerel değişkenler yığında (stack) yaşar ve fonksiyon dönünce yok olur; daha uzun ömürlü veri `malloc` ile öbekten (heap) istenir ve `free` ile geri verilmelidir. Çöp toplayıcı ve dizilerde sınır denetimi yoktur; bu yüzden hatalar bellek sızıntılarına, çökmelere ya da arabellek taşması gibi güvenlik açıklarına yol açabilir.

C; Linux gibi işletim sistemi çekirdeklerinde, mikrodenetleyicilerdeki gömülü yazılımlarda, aygıt sürücülerinde, veritabanlarında ve CPython dahil diğer dillerin yorumlayıcılarında kullanılır. Hemen her dil C fonksiyonlarını çağırabildiği için C, diller arasında ortak bir buluşma noktası görevi de görür. C yazmak, sürücü yardımı olmayan manuel vitesli bir araba kullanmaya biraz benzer: her şeyi siz kontrol edersiniz, ama her vites değişimi sizin sorumluluğunuzdadır.

C sık sık C++ ile bir tutulur, oysa ikisi farklı dillerdir. C++, C'nin bir uzantısı olarak doğdu ve C kodunun çoğunu derleyebilir; ancak sınıflar, şablonlar, istisnalar ve çok daha büyük bir standart kütüphane ekler. C ise bilinçli olarak minimal kalır: sınıfları, istisnaları ve yerleşik bir dizgi tipi yoktur; dizgiler, sıfır baytla biten basit karakter dizileridir.

## Önemli noktalar

- C doğrudan makine koduna derlenir; bu da onu hızlı ve öngörülebilir kılar.
- Bellek, `malloc` ve `free` gibi fonksiyonlarla elle yönetilir.
- Sınıfları, istisnaları ve çöp toplayıcısı yoktur.
- İşletim sistemi çekirdekleri, gömülü yazılımlar ve birçok dilin çalışma ortamı C ile yazılmıştır.

## Örnek: Belleği elle ayırmak ve serbest bırakmak

```c
#include <stdio.h>
#include <stdlib.h>

int main(void) {
    // Ask the heap for space for 5 integers
    int *numbers = malloc(5 * sizeof(int));
    if (numbers == NULL) return 1;

    for (int i = 0; i < 5; i++) numbers[i] = i * i;
    printf("Last square: %d\n", numbers[4]);

    free(numbers); // C never frees memory for you
    return 0;
}
```

## Sık sorulan sorular

**C bugün hâlâ kullanılıyor mu?**

Evet. C, işletim sistemleri, gömülü cihazlar ve performansın kritik olduğu kütüphaneler için hâlâ temel bir dildir; birçok üst seviye dil de C ile yazılmış bileşenlere dayanır.

**C ile C++ arasındaki fark nedir?**

C++, C'den doğdu ve sınıflar, şablonlar, istisnalar ve büyük bir standart kütüphane gibi özellikler ekler. C daha küçük ve daha basittir; çalışma zamanı yükünün en az olmasının ve kolay taşınabilirliğin en çok önem taşıdığı yerlerde sık tercih edilir.

**C neden güvensiz kabul edilir?**

C, dizi sınırlarını denetlemez ve belleği sizin yerinize izlemez; bu yüzden bir arabelleğin sonunun ötesini okumak ya da serbest bırakılmış belleği kullanmak gibi hatalar programı çökertebilir veya güvenlik açıkları doğurabilir. Dikkatli kodlama, sanitizer araçları ve kod incelemesi bu riskleri azaltmaya yardımcı olur.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
