apuntadores y estructuras

paulo
30 de Noviembre del 2005
bueno estoy intentando hacer eso

struct nodo { long info; nodo *sgte; }
nodo*p //variable apuntada a cabeza de lista

pues bien esto es parte de un programa que maneja una lista definida en esa estructura... para ello usa otro apuntador que va viajando por la lista asignando valores a sus campos.... siendo info el valor y sgte(siguiente) el pauntador a otro campo.

el problema:
necesito hacer 5 listas para lo cual estava pensando en hacer lo siguiente

struct nodo { long info; nodo *sgte; } *nodolista
que equivaldria a esto:
struct nodo { long info; nodo *sgte; } nodolista[n]

como todos sabemos la ventaja de los apuntadores esque son dinamicos... pero no tengo ni idea como viajar o mejor dicho como cambiar de lista.... si me ayudan se los agradesco...

chudiang
30 de Noviembre del 2005
Hola:

Primero, para no liarnos mucho, te aconsejaria definir un tipo para el nodo, por ejemplo asi

typedef strcut nodo {long info; nodo *sgte} TipoNodo;

Aunque no es necesario, con esto queda todo más sencillo. Si solo tienes una lista

TipoNodo *p;

Si quieres un array, hazlo así

TipoNodo *p [5];

Los apuntadores a cada lista son p[i], es decir p[1], p[2]. Para recorrarles, usa un apuntador auxiliar

TipoNodo *aux;
aux = p[3];

y ahora usas aux como si fuera una lista simple.

Se bueno

paulo
30 de Noviembre del 2005
no quiero hacer arrays ni nada de eso... tengo 6 apuntadoares uno general para como parametro de todo el sistema y los otros 5 para cada uno de las 5 listas... no se como ni donde difinir la estructura ni como hacer lo parametros... no tengo ni idea como hacerlo... es frustrante los punteros de #%&@...

gracias por la ayuda....