Що таке мозоль в С?
Calloc () в C являє собою функцію , яка використовується для виділення безлічі блоків пам'яті , що мають один і той же розмір. Це функція динамічного розподілу пам’яті, яка виділяє простір пам’яті для складних структур даних, таких як масиви та структури, і повертає в пам’ять порожній вказівник. Calloc означає суміжне виділення.
Функція Malloc використовується для виділення одного блоку простору пам'яті, тоді як функція calloc у C використовується для виділення декількох блоків простору пам'яті. Кожен блок, виділений calloc у програмуванні на С, однакового розміру.
calloc () Синтаксис:
ptr = (cast_type *) calloc (n, size);
- Наведений вище приклад твердження calloc в C використовується для виділення n блоків пам'яті однакового розміру.
- Після виділення місця в пам'яті всі байти ініціалізуються до нуля.
- Повертається покажчик, який на даний момент знаходиться в першому байті виділеного простору пам'яті.
Всякий раз, коли виникає помилка при розподілі місця в пам'яті, наприклад, дефіцит пам'яті, повертається нульовий покажчик, як показано в наведеному нижче прикладі calloc.
Як використовувати мозоль
У наведеній нижче програмі розмахування на C розраховується сума арифметичної послідовності.
#includeint main() {int i, * ptr, sum = 0;ptr = calloc(10, sizeof(int));if (ptr == NULL) {printf("Error! memory not allocated.");exit(0);}printf("Building and calculating the sequence sum of the first 10 terms \ n ");for (i = 0; i < 10; ++i) { * (ptr + i) = i;sum += * (ptr + i);}printf("Sum = %d", sum);free(ptr);return 0;}
Результат мозоля в прикладі С:
Building and calculating the sequence sum of the first 10 termsSum = 45