Función de biblioteca C - calloc ()

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

  • nitems - Este es el número de elementos a asignar.

  • size - Este es el tamaño de los elementos.

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