C ++ calloc () - biblioteka standardowa C ++

Funkcja calloc () w C ++ przydziela blok pamięci dla tablicy obiektów i inicjalizuje wszystkie jej bity do zera.

Funkcja calloc () zwraca wskaźnik do pierwszego bajtu przydzielonego bloku pamięci, jeśli alokacja się powiedzie.

Jeśli rozmiar wynosi zero, zwracana wartość zależy od implementacji biblioteki. Może to być wskaźnik zerowy lub nie.

calloc () prototyp

 void * calloc (rozmiar_t liczba, rozmiar_t rozmiar);

Funkcja jest zdefiniowana w pliku nagłówkowym.

Parametry calloc ()

  • num: całkowita wartość bez znaku, która reprezentuje liczbę elementów.
  • rozmiar: całkowita wartość bez znaku, która reprezentuje blok pamięci w bajtach.

calloc () Zwraca wartość

Funkcja calloc () zwraca:

  • wskaźnik do początku bloku pamięci przydzielonego przez funkcję.
  • pusty wskaźnik, jeśli alokacja nie powiedzie się.

Przykład 1: Jak działa funkcja 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; ) 

Po uruchomieniu programu wynik będzie następujący:

 Inicjalizacja wartości… Zainicjalizowane wartości 1 3 5 7 9 

Przykład 2: funkcja calloc () o rozmiarze zero

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

Po uruchomieniu programu wynik będzie następujący:

 Adres = 0x371530

Interesujące artykuły...