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