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
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