Colección de citas famosas - Slogan de motivación - El programador debe liberar el espacio de memoria ocupado por los nodos en la lista enlazada estática del lenguaje C. ¿Es esto correcto? ¡Gracias a todos!

El programador debe liberar el espacio de memoria ocupado por los nodos en la lista enlazada estática del lenguaje C. ¿Es esto correcto? ¡Gracias a todos!

1. Si es un programa pequeño, incluso si no se publica, generalmente no habrá grandes consecuencias porque la memoria abierta es relativamente pequeña. Debido a que el espacio aquí es espacio de memoria, si continúa solicitándolo, ocupará la mayor parte de la memoria. Si no lo suelta, seguirá ocupando memoria y reduciéndola. La memoria no se liberará hasta que se cierre el programa. La memoria se puede liberar mediante la función gratuita.

2. Funciones libres:

Prototipo: void free(void * ptr);

Función: Liberar la función malloc (o calloc, realloc) asignada a el puntero Memoria dinámica de variables;

Archivo de encabezado: malloc.h o stdlib.h;

3 Para evitar liberar memoria del puntero que ya ha liberado memoria, o no liberarla. memoria, en lenguaje C, es mejor asignar el valor inicial NULL al definir el puntero y asignar NULL inmediatamente después de liberarlo. Al liberar, verifique el valor del puntero y luego decida liberarlo para evitar errores de liberación. Por ejemplo:

int *a = NULL

int * b =(int *)malloc(sizeof(int)* 10);

a = b

/*Después de muchos cálculos*/

If (a! = NULL) { free (a); a = vacío }

If (b! = NULL){ gratis(b); b =nulo;}