C ++ calloc () - C ++ standardna biblioteka

Funkcija calloc () u C ++ dodjeljuje blok memorije za niz objekata i inicijalizira sve njegove bitove na nulu.

Funkcija calloc () vraća pokazivač na prvi bajt dodijeljenog memorijskog bloka ako dodjela uspije.

Ako je veličina nula, vraćena vrijednost ovisi o implementaciji knjižnice. To može biti null pokazivač, ali ne mora.

prototip calloc ()

 void * calloc (veličina_t broj, veličina_t veličina);

Funkcija je definirana u zaglavnoj datoteci.

calloc () Parametri

  • num: Nepotpisana integralna vrijednost koja predstavlja broj elemenata.
  • veličina: Nepotpisana integralna vrijednost koja predstavlja memorijski blok u bajtovima.

calloc () Povratna vrijednost

Funkcija calloc () vraća:

  • pokazivač na početak memorijskog bloka dodijeljenog funkcijom.
  • nulti pokazivač ako dodjela ne uspije.

Primjer 1: Kako funkcionira funkcija calloc ()?

 #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; ) 

Kada pokrenete program, izlaz će biti:

 Inicijalizirane vrijednosti … Inicijalizirane vrijednosti 1 3 5 7 9 

Primjer 2: funkcija calloc () s veličinom nula

 #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; )

Kada pokrenete program, izlaz će biti:

 Adresa = 0x371530

Zanimljivi članci...