Descripción
La función de la biblioteca C void *calloc(size_t nitems, size_t size)asigna la memoria solicitada y le devuelve un puntero. La diferencia enmalloc y calloc es que malloc no pone la memoria a cero, mientras que calloc fija la memoria asignada a cero.
Declaración
A continuación se muestra la declaración de la función calloc ().
void *calloc(size_t nitems, size_t size)
Parámetros
Valor devuelto
Esta función devuelve un puntero a la memoria asignada o NULL si falla la solicitud.
Ejemplo
El siguiente ejemplo muestra el uso de la función 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);
}
Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:
Number of elements to be entered:3
Enter 3 numbers:
22
55
14
The numbers entered are: 22 55 14