calloc() en C: Asignación de memoria inicializada a cero y ejemplo práctico
¿Qué es calloc en C?
La función calloc() en C asigna múltiples bloques de memoria de igual tamaño e inicializa cada byte a cero. Es una rutina de asignación dinámica usada para estructuras de datos complejas como arrays o structs, devolviendo un puntero void *.
Mientras malloc() reserva un único bloque contiguo, calloc() solicita n bloques, cada uno de size bytes, garantizando que estén a cero y contiguos.
Sintaxis
ptr = (cast_type *)calloc(n, size);
- Solicita
nbloques, cada uno desizebytes. - Todos los bytes se establecen automáticamente a cero.
- Devuelve un puntero al primer byte del área asignada, o
NULLsi la solicitud falla.
Uso de calloc – Un programa de ejemplo
El siguiente programa demuestra cómo calloc() puede usarse para calcular la suma de los primeros diez términos de una secuencia aritmética.
#include <stdio.h> #include <stdlib.h> int main(void) { int *ptr, sum = 0; ptr = calloc(10, sizeof(int)); if (!ptr) { fprintf(stderr, "Error! Memory not allocated.\n"); return EXIT_FAILURE; } printf("Calculating the sum of the first 10 terms:\n"); for (int i = 0; i < 10; ++i) { ptr[i] = i; sum += ptr[i]; } printf("Sum = %d\n", sum); free(ptr); return EXIT_SUCCESS; }
Salida
Calculating the sum of the first 10 terms: Sum = 45
Lenguaje C
- Domine las Llamadas de Subprograma Local M97 en Haas CNC: Ejemplo Paso a Paso
- Fundamentos de programación CNC: Tutoriales paso a paso y código de ejemplo
- Structs en C++ explicados con un ejemplo práctico
- Dominando std::map en C++: Guía completa con ejemplos de código
- Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos
- Funciones en C++ Explicadas con Ejemplos de Código Prácticos
- Uso de realloc() en C: Sintaxis, mejores prácticas y ejemplo
- Dominando la función free() en C: Guía práctica y ejemplo
- Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
- Algoritmo Insertion Sort en Java: Ejemplo Claro y Guía Paso a Paso
- Selection Sort en Java: Ejemplo Paso a Paso y Código Completo