Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2006, 13:09
achiqalquds
 
Fecha de Ingreso: noviembre-2003
Ubicación: Valencia
Mensajes: 131
Antigüedad: 21 años, 1 mes
Puntos: 1
problema con punteros. O eso creo

Hola

Estoy intentando hacer una funcion para insertar elementos en una lista enlazada mediante la siguiente funcion:

Código:
void Insertar(struct Lista *cab, char *buf)
{
     int i, j;
     struct ElemLista *elem, *elem2;
     i = *cab.numElem;

     elem = *cab.primero;

     while(j != i)
     {
       if (elem.palabra == *buf)
       {
         elem.num++;
         j = i-1;
       }
       else if(str( elem.palabra, buf ) < 0 )
       {
         elem = elem.siguiente;
       }
       else
       {
         elem2 = malloc( sizeof( struct ElemLista ) );
         elem2.palabra = buf;
         elem2.num = 1;
         elem2.siguiente = elem.siguiente;
         elem.siguiente = elem2;
         j = i - 1;//para salir del bucle
       }
       j++;
     }
}//Insertar
ElemLista y Lista son estructuras, la primera es de un elemento, y la segunda es la cabecera de la lista.

Están definidas de esta forma:
Código:
struct ElemLista
{
       int num;
       char *palabra;
       struct ElemLista *siguiente;
};

struct Lista
{
       struct ElemLista *primero;
       int numElem;
};
Mi duda es la siguiente:
Cuando compilo me genera varios errores de este tipo:

'request for member `numElem` in somthing not a struct or union'

los demás errores dicen lo mismo, pero para otras variables como .primero, .palabra, etc.

¿Alguien podría decirme qué hago mal?

Yo la verdad es que con los punteros siempre me lio.

Ahh, por si acaso, estoy programando con C y el compilador que uso es DEV-C++.

Gracias