26 Nisan 2011 Salı

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.

Hiç yorum yok:

Yorum Gönder