¿Qué es calloc en C?
El calloc () en C es una función que se usa para asignar múltiples bloques de memoria que tienen el mismo tamaño. Es una función de asignación de memoria dinámica que asigna el espacio de la memoria a estructuras de datos complejas, como matrices y estructuras, y devuelve un puntero vacío a la memoria. Calloc significa asignación contigua.
La función Malloc se usa para asignar un solo bloque de espacio de memoria, mientras que la función calloc en C se usa para asignar múltiples bloques de espacio de memoria. Cada bloque asignado por el calloc en la programación C es del mismo tamaño.
Sintaxis de calloc ():
ptr = (cast_type *) calloc (n, size);
- El ejemplo de declaración anterior de calloc en C se usa para asignar n bloques de memoria del mismo tamaño.
- Una vez que se asigna el espacio de memoria, todos los bytes se inicializan a cero.
- Se devuelve el puntero que se encuentra actualmente en el primer byte del espacio de memoria asignado.
Siempre que haya un error al asignar espacio de memoria, como la escasez de memoria, se devuelve un puntero nulo como se muestra en el siguiente ejemplo de calloc.
Cómo usar calloc
El siguiente programa calloc en C calcula la suma de una secuencia aritmética.
#includeint 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 del calloc en el ejemplo de C:
Building and calculating the sequence sum of the first 10 termsSum = 45