Função da biblioteca C - calloc ()

Descrição

A função da biblioteca C void *calloc(size_t nitems, size_t size)aloca a memória solicitada e retorna um ponteiro para ela. A diferença emmalloc e calloc é que o malloc não define a memória para zero, enquanto o calloc define a memória alocada para zero.

Declaração

A seguir está a declaração da função calloc ().

void *calloc(size_t nitems, size_t size)

Parâmetros

  • nitems - Este é o número de elementos a serem alocados.

  • size - Este é o tamanho dos elementos.

Valor de retorno

Esta função retorna um ponteiro para a memória alocada ou NULL se a solicitação falhar.

Exemplo

O exemplo a seguir mostra o uso da função calloc ().

#include <stdio.h>
#include <stdlib.h>

int main () {
   int i, n;
   int *a;

   printf("Number of elements to be entered:");
   scanf("%d",&n);

   a = (int*)calloc(n, sizeof(int));
   printf("Enter %d numbers:\n",n);
   for( i=0 ; i < n ; i++ ) {
      scanf("%d",&a[i]);
   }

   printf("The numbers entered are: ");
   for( i=0 ; i < n ; i++ ) {
      printf("%d ",a[i]);
   }
   free( a );
   
   return(0);
}

Vamos compilar e executar o programa acima que produzirá o seguinte resultado -

Number of elements to be entered:3
Enter 3 numbers:
22
55
14
The numbers entered are: 22 55 14