Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Punteros

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Punteros Responder citando

Hola amigos

tengo algunas dudas con repsecto al mejo de punteros

por ejemplo si tengo una lista simple llamada ListaNumeros que es global y del tipo MiLista y realizo la siguiente operación

MiLista *ListaNumeros; //declaración global


int TForm1::BuscarMenor(void)
{ MiLista *aux=ListaNumeros
while(aux)
{
//proceso para buscar el menor
aux=aux->next;
}
}

mi duda es la siguiente, el puntero aux solo apunta a una dirección, es necesario liberarlo para liberar la memoria.

y segundo

void TForm1::Agregar(void)
{ MiLista *nuevo=new MiLista;
if(ListaNumeros==NULL)
{
ListaNumeros=nuevo;
ListaNumeros->next=NULL;
}else
{ nuevo->next=ListaNumeros;
ListaNumeros=nuevo;
numero->next=NULL;
}
}

mi duda es que si declare el puntero nuevo para agregarlo a la lista, una vez agregado es necesario liberar el puntero nuevo

por cualquier consejo gracias
_________________
__CMVM
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

hola claudio veo que tenes un par de conceptos herrados.
en primer lugar cuando declaras un puntero es para usarlo, y una vez echo esto cuando lo desrreferencias(cuando lo dejas de usar)la memoria se libera sola.

en segundo el puntero al nuevo no lo debes borrar debido a que ese nodo se encadena a la lista y lo brras perdes todos los nodos siguienters en la lista.

espero que te sirva de todas maneras me gustaria saber si lo que estas implementando lo haces con una clase o con una estructura.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: ... Responder citando

Hola, no debes liberar el apuntador Aux, pues si lo haces estarias borrando el ultimo elemento de la lista, pues Aux recorre toda la lista hasta llegar al ultimo nodo de la misma, y tampoco debes liberar el Nuvo nodo(Nuevo), pues lo estarias eliminando de la lista.

Cuando ya no necesites la lista debes liberarla nodo a nodo.


Espero haberte ayudado.

Saludos.
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.