C Dili - Ders 27 - Hafıza ile Çalışmak (malloc)



Bu dersimizde hafızadan nasıl yer ayrılır(allocate) ve ayrılan yer nasıl tekrar boşaltılır onu göreceğiz. Biz bunun için malloc (memory allocate) fonksiyonunu kullanıyoruz.

int *pointer=null;
pointer=malloc( sizeof(int) );

yukarıdaki kodda en başta bir pointer tanımlıyoruz. Daha sonra malloc ile hafızadan yer ayırıyoruz. Ve hafızanın baş adresini pointera atıyoruz. malloc fonksşyonunu kullanırken içine ayırmak istediğimiz hafıza miktarını yazıyoruz.

2 integer değişkeni tutacağımız kadar hafıza ayıralım ve hafızaların içini dolduralım.

#include "stdio.h"
#include "stdlib.h"
int main()
{
 int *pointer=(int *)malloc((2*sizeof(int)));
 *pointer=10;
 printf("Adres: %d , Deger: %d\n",pointer,*pointer);
 pointer++;
 *pointer=9;
 printf("Adres: %d , Deger: %d\n",pointer,*pointer);
 return 0;
}

Bu fonksiyonu kullanabilmek için stdlib.h kütüphanesini include etmeniz lazım. Daha karışık bir örnek dinamik dizi oluşturmak yazısında var.