Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Dominando la función free() en C: Guía práctica y ejemplo

¿Qué es la función free() en C?

La función free(), parte de la biblioteca estándar de C, libera memoria que fue asignada previamente con malloc(), calloc() o realloc(). Al devolver el bloque al montículo (heap), mantiene la huella de memoria de tu programa bajo control y previene el agotamiento de la memoria disponible.

A diferencia de las variables de pila, la memoria asignada dinámicamente debe liberarse explícitamente. No llamar a free() puede provocar fugas de memoria y eventualmente causar un error de out-of-memory.

Sintaxis

void free(void *ptr);

Aquí, ptr es un puntero al bloque de memoria que deseas desasignar. Pasar un puntero NULL es seguro y resulta en una no operación.

Ejemplo práctico

#include <stdio.h> #include <stdlib.h> int main(void) { // Asignar espacio para 10 enteros int *ptr = malloc(10 * sizeof(*ptr)); if (ptr == NULL) { fprintf(stderr, "Memory allocation failed\n"); return 1; } // Almacenar un valor y mostrarlo ptr[2] = 50; printf("Value of the 3rd integer is %d\n", ptr[2]); // Liberar la memoria cuando termine free(ptr); return 0; }

Salida:

Value of the 3rd integer is 50

Mejores prácticas

Lenguaje C

  1. Dominando std::vector en C++: Arrays dinámicos, iteradores y ejemplos prácticos
  2. Dominando std::map en C++: Guía completa con ejemplos de código
  3. Polimorfismo en C++ explicado: Ejemplos prácticos y conceptos clave
  4. calloc() en C: Asignación de memoria inicializada a cero y ejemplo práctico
  5. Uso de realloc() en C: Sintaxis, mejores prácticas y ejemplo
  6. Uso de funciones impuras en VHDL: Mejorando legibilidad y mantenibilidad de FSM
  7. Dominando funciones VHDL: Guía práctica para diseño eficiente
  8. Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
  9. Método Java String length(): Cómo obtener el tamaño de un String (Ejemplo)
  10. Dominando el método compareTo() de Java String: Sintaxis, casos de uso y ejemplos prácticos
  11. Lectura de archivos en Java con BufferedReader – Guía práctica con ejemplos