BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <stdlib.h> > free

free() fonksiyonu

Bildirim

void free(void *ptr);

Açıklama

Daha önce malloc(), calloc() veya realloc() fonksiyonu ile tahsis edilen belleği boşaltır.

Eğer ptr parametresi daha önceden tahsis edilmiş olan bir bellek adresini göstermiyorsa, belirsiz sonuçlara neden olur. NULL bir değer taşıyorsa, fonksiyon herhangi bir işlem gerçekleştirmez.

Parametreler

ptr: Daha önce tahsis edilmiş olan bellek bölgesini gösterir.

Dönüş değeri

Yok.

Örnek


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

int main(void)
{
    int *ip, id;

    ip = (int *) malloc(5 * sizeof(int));

    for (id=0; id<5; id++) {
         *(ip+id) = id+1;
         printf("%p adresindeki değer: %d\n", (ip+id), *(ip+id));
    }

    free(ip);
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

00CB1540 adresindeki değer: 1
00CB1544 adresindeki değer: 2
00CB1548 adresindeki değer: 3
00CB154C adresindeki değer: 4
00CB1550 adresindeki değer: 5

Yukarıdaki program, malloc() fonksiyonunu kullanarak 5 adet int değer için bellek tahsisi yapar ve her bellek adresine int bir değer atayarak bellek adreslerini ve bu adreslere atadığı değerleri ekrana yazar. Daha sonra, free() fonksiyonuyla tahsis edilen belleği boşaltır.