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

C ++ 'daki calloc () işlevi, bir nesne dizisi için bir bellek bloğu ayırır ve tüm bitlerini sıfır olarak başlatır.

Calloc () işlevi, ayırma başarılı olursa, ayrılmış bellek bloğunun ilk baytına bir işaretçi 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.

calloc () prototipi

 void * calloc (size_t num, size_t boyut);

İşlev, başlık dosyasında tanımlanır.

calloc () Parametreler

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

calloc () Dönüş değeri

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

  • işlev tarafından ayrılan bellek bloğunun başlangıcına bir işaretçi.
  • ayırma başarısız olursa boş gösterici.

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

 #include #include using namespace std; int main() ( int *ptr; ptr = (int *)calloc(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 calloc () işlevi

 #include #include using namespace std; int main() ( int *ptr = (int *)calloc(0, 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...