[C con Clase] Array de cadenas de caracteres y paso de parámetros en C.

David fire ddfire en gmail.com
Vie Dic 12 18:30:23 CET 2008


Hola
bien, listas es una idea abstracta y se puede implementar incluso en
asembler...
la idea es un grupo de "cosas" que de alguna forma estan unidas.
obviamente esta es una explicacion mucho mas que bueno en realidad no
califica de explicacion, si te interesa la parte teorica mandame un mail y
me fijo que libro te puedo recomendar.

mientras tanto algo bien practico


struct  nodo{
struct *next;
char *cadena
}

que haces con eso?
bueno la idea es asi
creas el primer nodo

Struct nodo primero;
primero.next=NULL;
creas un segundo nodo con malloc
primero.next=malloc(sizeof(struc nodo));
(primero->next).next=null;
con un for podes ir pasando de una a otra por ejemplo queres ir hasta el
nodo 10.

struct *actual;
actual=primero.next;
for(i=0;i<10 or actual.next=null ;i++)
              actual=actual.next;
sabes cual es el ultimo por que next apunta a null.

suponete que queres remover uno
actual.next=(actual->next).next;

mejor seria hacerlo
temp=actual.next;
actual.next=(actual->next).next;
FUNCION_QUE_LIBERA_MEMORIA_ASIGANADA_POR_MALLOC(TEMP);

y ahi implementaste una lista de cadenas

suponete que queres hacer una lista que pueda apuntar a cualquier cosa

struct  nodo{
struct *next;
void*cadena; //esto es valido pero hay que castearlo cuando se lo vaya a
usar
}

espero que te sirva

David





El 12 de diciembre de 2008 12:24, gmh2000 <helder1986 en gmail.com> escribió:

> No entiendo muy bien a qué te refieres. Algo he visto de punteros a
> funciones, exactamente lo que viene en el curso de esta misma web, pero no
> veo para qué me puede servir eso aquí.
>
> Por otra parte tengo entendido que en C no hay listas. Que hay que hacerlo
> de forma manual con un array o algo así. Quizás te refieras a que haga algo
> como el add_cadena() que ha diseñado Rodolfo (una respuesta posterior a la
> tuya que he recibido). Si se trata de alguna otra cosa agradezco mucho que
> cuentes como crear y manejar listas en C, por supuesto...
>
>
> Un saludo. Carlos.
>
>
>
>
> El pasado 2008-12-10 22:11:27, David escribió:
>
> D> fijate que puse que si trabajas en C hagas una estructura y le metes un
> D> punetro a funcion o no y creas la funcion add...
> D> ponele un poco de voluntad
> D> pero tenes que usar listas es la manera elegante de hacer esto.
> D> hac e una eternidad que estas con esto, si no sabes como funcan las
> listas
> D> avisame y te paso un ejemplo.
> D> David
> D> El 10 de diciembre de 2008 14:54, gmh2000 <helder1986 en gmail.com>
> escribió:
> D> > Creo que NO me vale la opción, puesto que su no recuerdo mal add es un
> D> > método del objeto lista. Así que sería una solución válida para C++ y
> no
> D> > vale para C.
> D> >
> D> > _______________________________________________
> D> > Lista de correo Cconclase Cconclase en listas.conclase.net
> D> >
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> D> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> D> >
> D> --
> D> (\__/)
> D> (='.'=)This is Bunny. Copy and paste bunny into your
> D> (")_(")signature to help him gain world domination.
> D> _______________________________________________
> D> Lista de correo Cconclase Cconclase en listas.conclase.net
> D>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> D> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20081212/f2e645b7/attachment.html>


Más información sobre la lista de distribución Cconclase