Programación General > C/C++

 Liberar el puntero de un puntero

(1/1)

dvspeed:
Hola, mi pregunta es que si tengo un puntero apuntando a otros dos punteros, si libero el primer puntero con free, los otros dos se liberarán o tengo que liberarlos todos uno a uno.

alb:
Bueno,
A cada malloc tiene que corresponder un free. Poco importa si un puntero apunta a otros punteros o a otra cosa.

dvspeed:
Ok, vamos que tengo que ir haciendo free uno por uno, gracias.

ProfesorX:
Como bien dice el compañero, por cada malloc, debe de haber un free.

Yo añadiria ademas que por lo regular al liberar punteros, se deben liberar en order inverso a como fueron creados, no es obligatorio, pero si recomendado, ejemplo:


--- Código: C++ ---     int *puntero1, *puntero2, *puntero3;     puntero1 = (int*) malloc(sizeof(int));    puntero2 = (int*) malloc(sizeof(int));    puntero3 = (int*) malloc(sizeof(int));      free(puntero3);    free(puntero2);    free(puntero1);  
Saludos :)

Navegación

[0] Índice de Mensajes

Ir a la versión completa