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

Интересни статии...