C ++ calloc () - Стандартна бібліотека C ++

Функція calloc () в C ++ виділяє блок пам'яті для масиву об'єктів і ініціалізує всі його біти до нуля.

Функція calloc () повертає покажчик на перший байт виділеного блоку пам'яті, якщо розподіл успішний.

Якщо розмір дорівнює нулю, повернене значення залежить від реалізації бібліотеки. Це може бути нульовий покажчик, а може і не бути.

прототип calloc ()

 void * calloc (size_t num, size_t size);

Функція визначена у файлі заголовка.

параметри calloc ()

  • num: ціле значення без знака, яке представляє кількість елементів.
  • size: Непідписане інтегральне значення, яке представляє блок пам'яті в байтах.

calloc () Повернене значення

Функція calloc () повертає:

  • вказівник на початок блоку пам'яті, виділеного функцією.
  • нульовий покажчик, якщо розподіл не вдається.

Приклад 1: Як працює функція 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; ) 

Коли ви запускаєте програму, результат буде:

 Ініціалізація значень… Ініціалізація значень 1 3 5 7 9 

Приклад 2: функція calloc () із нульовим розміром

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

Коли ви запускаєте програму, результат буде:

 Адреса = 0x371530

Цікаві статті...