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.