Função calloc() na biblioteca C com programa EXEMPLO
O que é calloc em C?
O calloc () em C é uma função usada para alocar vários blocos de memória com o mesmo tamanho. É uma função de alocação dinâmica de memória que aloca espaço de memória para estruturas de dados complexas, como arrays e estruturas, e retorna um ponteiro vazio para a memória. Calloc significa alocação contígua.
Função Malloc é usado para alocar um único bloco de espaço de memória enquanto a função calloc em C é usada para alocar vários blocos de espaço de memória. Cada bloco alocado pelo calloc na programação C é do mesmo tamanho.
calloc() Sintaxe:
ptr = (cast_type *) calloc (n, size);
- O exemplo de instrução acima de calloc em C é usado para alocar n blocos de memória do mesmo tamanho.
- Depois que o espaço de memória é alocado, todos os bytes são inicializados em zero.
- O apontador que está atualmente no primeiro byte do espaço de memória alocado é retornado.
Sempre que houver um erro na alocação de espaço de memória, como falta de memória, um ponteiro nulo será retornado conforme mostrado no exemplo de calloc abaixo.
Como usar calloc
O programa calloc abaixo em C calcula a soma de uma sequência aritmética.
#include <stdio.h> int 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; }
Resultado do calloc no exemplo C:
Building and calculating the sequence sum of the first 10 terms Sum = 45