Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/04/2008, 14:22
Leber
 
Fecha de Ingreso: marzo-2008
Mensajes: 37
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: funcion crea nodo

Te pondre un ejemplo corto y sencillo para que entiendas el funcionamento:

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define FF(str) str[strlen(str)-1]=0

struct lista
{
  char nombre[14];
  struct lista *sig;
};

struct lista *crear(struct lista *p);


int
main()
{

struct lista *L=NULL;  //<- para mantener la lista
struct lista *p;    //<- puntero para crear nuevos nodos


p=crear(p); //creamos nuevo nodo
p->sig=L;  //enlazamos el nodo->sig a la lista
L=p;       //hacemos que lista empieze por el nuevo nodo creado

fprintf(stdout,"Nodo contiene-> %s\n",p->nombre);

free (p);

return 0;

}

struct lista *crear(struct lista *p)
{

     if((p=(struct lista *)malloc(sizeof(struct lista)))==NULL)
       {
         perror("Error asignando memoria");
         exit(-1);
       }

      printf("Introduce nombre para nodo: ");
      fgets(p->nombre,13,stdin);
      FF(p->nombre);

  return p;  //devolvemos la estructura creada

}