elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Punteros Dobles en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Punteros Dobles en C  (Leído 3,511 veces)
GonzaloRamirez

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Punteros Dobles en C
« en: 6 Diciembre 2019, 20:43 pm »

Hola, alguien me puede dar una ayuda con este código de insertar ordenado en una lista? , no logro comprender el nodo** lista, por que se pasa como doble puntero? que función cumple.


void insertar_ordenado (nodo** lista, elemento e){
    nodo* actual;
    nodo* anterior;
    nodo* nuevo = malloc(sizeof(nodo));
    nuevo->e=e;
    actual=*lista;
    anterior=NULL;
    while(actual!=NULL && actual->e.dni < e.dni){
         anterior=actual;
         actual=actual->sig;
    }
    if(anterior!=NULL){
         anterior->sig=nuevo;
         nuevo->sig=actual;
    }else{
         nuevo->sig=*lista;
         *lista=nuevo;
   }
}


En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Punteros Dobles en C
« Respuesta #1 en: 6 Diciembre 2019, 21:51 pm »

En este caso la funcion "insertar_ordenado" intentara modificar la cabeza de lista y por consiguiente dicho puntero necesita ser pasado como referencia (doble puntero), de lo contrario el puntero o nodo principal de la lista seria pasado como copia y solo se modificaria el orden de la copia de la lista dentro de dicha funcion y no la original. Una variante seria la de pasar lista como puntero simple pero retornar el nodo principal en lugar de usar void.


En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
GonzaloRamirez

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Punteros Dobles en C
« Respuesta #2 en: 7 Diciembre 2019, 04:00 am »

Muchas gracias! ya lo logre comprender, me salvaste
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Punteros Dobles en C
« Respuesta #3 en: 7 Diciembre 2019, 06:57 am »

Cuando pegues codigos deberías de colocar la funte de tu codigo, ya que se nota que lo copiaste de algun lugar... , asi mismo utilizar la etiqueta de código adecuada para que salga bien indentado.

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Reemplazar comillas dobles dentro de comillas dobles.
.NET (C#, VB.NET, ASP)
seba123neo 2 8,565 Último mensaje 22 Agosto 2012, 20:25 pm
por seba123neo
Duda Punteros Dobles/Array de punteros
Programación C/C++
MisterJava 2 5,206 Último mensaje 30 Diciembre 2012, 20:19 pm
por MisterJava
punteros dobles y matrices en DELPHI
Programación C/C++
Flack 4 3,152 Último mensaje 4 Febrero 2014, 16:25 pm
por x64core
Punteros dobles / Punteros a puntero.
Programación C/C++
NOB2014 5 8,472 Último mensaje 13 Abril 2016, 16:00 pm
por MAFUS
Representación visual de punteros y punteros a punteros.. « 1 2 »
Programación C/C++
digimikeh 13 4,889 Último mensaje 4 Mayo 2019, 01:54 am
por RayR
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines