C ++ malloc () - C ++ Standart Kitaplığı

C ++ 'daki malloc () işlevi, başlatılmamış bellek bloğunu ayırır ve ayırma başarılı olursa, ayrılmış bellek bloğunun ilk baytına bir geçersiz gösterici döndürür.

C ++ 'daki malloc () işlevi, başlatılmamış bellek bloğunu ayırır ve ayırma başarılı olursa, ayrılmış bellek bloğunun ilk baytına bir geçersiz gösterici döndürür.

Boyut sıfır ise, döndürülen değer kitaplığın uygulanmasına bağlıdır. Boş gösterici olabilir veya olmayabilir.

malloc () prototipi

 void * malloc (size_t boyut);

Bu işlev başlık dosyasında tanımlanmıştır.

malloc () Parametreler

  • size: Hafıza bloğunu bayt cinsinden temsil eden işaretsiz bir integral değer.

malloc () Dönüş değeri

Malloc () işlevi şunu döndürür:

  • işlev tarafından ayrılan başlatılmamış bellek bloğuna bir işaretçi.
  • ayırma başarısız olursa boş gösterici.

Örnek 1: malloc () işlevi nasıl çalışır?

 #include #include using namespace std; int main() ( int *ptr; ptr = (int*) malloc(5*sizeof(int)); if(!ptr) ( cout << "Memory Allocation Failed"; exit(1); ) cout << "Initializing values… " << endl << endl; for (int i=0; i<5; i++) ( ptr(i) = i*2+1; ) cout << "Initialized values" << endl; for (int i=0; i<5; i++) ( /* ptr(i) and *(ptr+i) can be used interchangeably */ cout << *(ptr+i) << endl; ) free(ptr); return 0; )

Programı çalıştırdığınızda, çıktı:

 Değerlerin başlatılması… İlklendirilmiş değerler 1 3 5 7 9

Örnek 2: sıfır boyutlu malloc () işlevi

 #include #include using namespace std; int main() ( int *ptr = (int*) malloc(0); if(ptr==NULL) ( cout << "Null pointer"; ) else ( cout << "Address = " << ptr << endl; ) free(ptr); return 0; )

Programı çalıştırdığınızda, çıktı:

 Adres = 0x371530

Ilginç makaleler...