C ++ calloc () - standardní knihovna C ++

Funkce calloc () v C ++ přiděluje blok paměti pro pole objektů a inicializuje všechny jeho bity na nulu.

Funkce calloc () vrací ukazatel na první bajt bloku přidělené paměti, pokud je přidělení úspěšné.

Pokud je velikost nula, vrácená hodnota závisí na implementaci knihovny. Může, ale nemusí to být nulový ukazatel.

prototyp calloc ()

 void * calloc (velikost_t počet, velikost_t velikost);

Funkce je definována v hlavičkovém souboru.

parametry calloc ()

  • num: Nepodepsaná integrální hodnota, která představuje počet prvků.
  • size: Nepodepsaná integrální hodnota, která představuje blok paměti v bajtech.

calloc () Návratová hodnota

Funkce calloc () vrací:

  • ukazatel na začátek bloku paměti přiděleného funkcí.
  • nulový ukazatel, pokud přidělení selže.

Příklad 1: Jak funguje funkce 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; ) 

Když spustíte program, výstup bude:

 Inicializace hodnot … Inicializace hodnot 1 3 5 7 9 

Příklad 2: funkce calloc () s velikostí 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; )

Když spustíte program, výstup bude:

 Adresa = 0x371530

Zajímavé články...