Dinamik bellek ayırma
Belleği dinamik olarak yönetmek için malloc, calloc, realloc ve free gibi fonksiyonları keşfedin
Dinamik bellek ayırma, CoddyKit'te ücretsiz bir C Academy dersidir. Bu, 3 dersinin 2. 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 3 dersten oluşur.
Dinamik Bellek Ayırma
Dinamik Bellek Ayırma
C dilinde dinamik bellek ayırma, derleme zamanı yerine çalışma zamanında bellek ayırmanıza olanak tanır.
Bu derste şunları öğreneceksiniz:
malloc,callocvereallockullanarak nasıl bellek ayrılacağını.- Ayrılan belleğin
freekullanılarak nasıl serbest bırakılacağını. - Bellek sızıntılarının nasıl önleneceğini.

Dinamik Bellek Ayırma Nedir?
Dinamik Bellek Ayırma Nedir?
Normalde değişkenler için bellek, derleme zamanında ayrılır.
Dinamik bellek ayırmada bellek, özel işlevler kullanılarak programın yürütülmesi sırasında ayrılır.
Bu yöntem, derleme zamanında boyutu bilinmeyen dizileri veya yapıları yönetmek için kullanışlıdır.
malloc() ile Bellek Ayırma
malloc() ile Bellek Ayırma
malloc işlevi bellek ayırır ancak belleği başlatmaz.
Söz dizimi:
ptr = (int*) malloc(size * sizeof(int));
Ayrılan belleğe bir işaretçi döndürür veya ayırma başarısız olursa NULL döndürür.
Örnek: malloc() Kullanma
Örnek: malloc() Kullanma
Bu program, malloc kullanarak nasıl bellek ayrılacağını gösterir.
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr = (int*) malloc(5 * sizeof(int));
if (ptr == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
for (int i = 0; i < 5; i++) {
ptr[i] = i * 10;
printf("%d ", ptr[i]);
}
free(ptr);
return 0;
}calloc() ile Bellek Ayırma
calloc() ile Bellek Ayırma
calloc işlevi bellek ayırır ve belleği sıfırlarla başlatır.
Söz dizimi:
ptr = (int*) calloc(num_elements, sizeof(int));
Ayrılan belleğe bir işaretçi döndürür veya ayırma başarısız olursa NULL döndürür.
Örnek: calloc() Kullanma
Örnek: calloc() Kullanma
Bu program, calloc kullanarak nasıl bellek ayrılacağını gösterir.
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr = (int*) calloc(5, sizeof(int));
if (ptr == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
for (int i = 0; i < 5; i++) {
printf("%d ", ptr[i]); // All elements initialized to 0
}
free(ptr);
return 0;
}realloc() ile Belleği Yeniden Ayırma
realloc() ile Belleği Yeniden Ayırma
realloc işlevi, daha önce ayrılmış belleğin boyutunu değiştirir.
Söz dizimi:
ptr = realloc(ptr, new_size * sizeof(int));
Yeni bellek bloğuna bir işaretçi döndürür.
free() ile Belleği Serbest Bırakma
free() ile Belleği Serbest Bırakma
Bellek sızıntılarını önlemek için ayrılan bellek free() kullanılarak serbest bırakılmalıdır.
Söz dizimi:
free(ptr);
Bellek serbest bırakıldıktan sonra işaretçiye erişilmemelidir.
Özet
Özet
Bu derste şunları öğrendiniz:
mallocvecallockullanarak nasıl bellek ayrılacağını.reallockullanarak belleğin nasıl yeniden ayrılacağını.- Bellek sızıntılarını önlemek için
freekullanarak belleğin nasıl serbest bırakılacağını.
Sonraki bölümde C dilinde işaretçi dizilerini ve işlev işaretçilerini inceleyeceğiz!

Sıkça Sorulan Sorular
“Dinamik bellek ayırma” dersi ücretsiz mi?
Evet — “Dinamik bellek ayırma” 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 3 dersten oluşur.
“Dinamik bellek ayırma” dersinde ne öğreneceğim?
Belleği dinamik olarak yönetmek için malloc, calloc, realloc ve free gibi fonksiyonları keşfedin 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, 3 dersinin 2. dersidir.
“Dinamik bellek ayırma” 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
- İşaretçilere giriş
- Dinamik bellek ayırma
- İşaretçi dizileri ve fonksiyon işaretçileri