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

int main () {
   char *str;

   // malloc yer tahsilatı için hızlıdır ama RAM üzerinde rasgele veya kalıntılardan oluşan alanları tahsis edebilir bu alanları önemsiyorsan temizlemek isteyebilirsin memset() fonksiyonu bu iş için idaildir eğer başlanğıçta bana sıfır gelsin diyorsan calloc() fonksiyonunu kullmalısın.
   str = (char *) malloc(12);

   // realloc() fonksiyonu eğer olurda RAM deki yerin küçük gelirse diye büyüktmek isteyebileceğin için yapılmıştır daha str ye yazdığın bilgiler korunur sistem seni ardışık olarak büyük bir alana koymaya çalışır yapamassa eski yerinden devam edebilirsin ama bu yeri farklı bir pointer ile koru çünkü alan tahsilatının başarısızlık ile sonuclanmasında NULL geriye return eder buda mevcuttaki yerini kaybetmene sebep olabilir.
   str = (char *) realloc(str, 25);
   
   free(str);
   
   return(0);
}

193 Comments

Leave a Reply

Avatar placeholder