🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #8475

Re: problema con listas enlazadas en C

#8475
From: Javier P�rez
Date: Tue, 05 Nov 2002 15:35
54 lines
2644 bytes
"Oscar" <lucense@hotmail.com> escribi� en el mensaje
news:7ae3d00c.0211041935.2a37bb27@posting.google.com...
> t_list funcion(t_list l, t_elemento e)
> {
> list_anhade(&l, e);
> return l;
> }
> pero no funciona, �sabeis porque o como tendria que hacerlo?. No se si me
> explique bien... Gracias por vuestra ayuda.

Lo que se dice funcionar, funciona... otra cosa es que no haga lo que
pretendes ;)
"&l" es la direcci�n de la variable "l", que es local (un dato de la pila
concretamente),
por lo que "&l" referencia a una variable local, NO a la variable externa
que le pasaste
por par�metro... es as� de simple.
Por lo que si quieres usar dentro de la funcion la direcci�n de una
variable, debes
pas�rsela como par�metro (la direcci�n).

Ejemplo:
Queremos una funci�n que sume 2 a la variable que le pasemos por par�metro:
---1---
// Esto es lo que "hace" tu funcion... ;)
// No hace nada, ya que a�ade 2 a la variable local
void suma2(int a)
{
    a+=2;
}
int entero = 0;
suma2(entero); // entero seguir� valiendo 0

---2---
// Y esto es lo que quieres hacer...
void suma2(int *a)
{
   *a+=2;
}
int entero=0;
suma2(&entero); // ahora entero vale 2

As� que, como te ha explicado Lepton, la forma correcta ser�a:
t_list funcion(t_list *l, t_elemento e) {
   list_anhade(l,e);
   return l;
}

ahora s� le pasas la direcci�n correcta a la funci�n "list_anhade".

Saludos

---
Javier P�rez
Technical Details
Message-ID: <aq8otf$iea$1@localhost.localdomain>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.icl.net!newsfeed.fjserv.net!proxad.net!proxad.net!news-hub.cableinet.net!blueyonder!marmolejo.escomposlinux.org!not-for-mail
References: <7ae3d00c.0211041935.2a37bb27@posting.google.com>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,f253934d9c0983ae
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-11-05 07:42:42 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.icl.net!newsfeed.fjserv.net!proxad.net!proxad.net!news-hub.cableinet.net!blueyonder!marmolejo.escomposlinux.org!not-for-mail
From: "Javier P�rez" <pidemelo@ytelo.doy>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: problema con listas enlazadas en C
Date: Tue, 5 Nov 2002 16:35:48 +0100
Organization: Ecolnet
Lines: 57
Message-ID: <aq8otf$iea$1@localhost.localdomain>
References: <7ae3d00c.0211041935.2a37bb27@posting.google.com>
NNTP-Posting-Host: 212.166.88.182
X-Trace: localhost.localdomain 1036510960 18890 212.166.88.182 (5 Nov 2002 15:42:40 GMT)
X-Complaints-To: newsmaster@marmolejo.escomposlinux.org
NNTP-Posting-Date: Tue, 5 Nov 2002 15:42:40 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.50.4920.2300
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4920.2300