lunes, 12 de mayo de 2008

Sobre Listas: Parte 0

Si tuviésemos un nombre y un código por cada nodo de nuestra lista y quisiéramos ingresar datos, digamos, tan solo dos, tendríamos un código como el siguiente:

#include <stdio.h>

#include <stdlib.h>





#define MAXNOMBRE 20



typedef struct nodo{

char nombre[MAXNOMBRE];

int valor;

struct nodo* sgte;



}nodo;

int main()

{

nodo *p;

p=malloc(sizeof(nodo*));



printf("\n Ingresa un
nombre\n");

scanf("%s",p->nombre);

printf("Ingresa un valor\n");

scanf("%d",&p->valor);

printf("\nUsted ha ingresado los
siguientes valores\n");



printf("NOMBRE: %s \n VALOR: %d \n",
p->nombre, p->valor);




nodo *q=malloc(sizeof(nodo*));

p->sgte=q;

q->sgte=NULL;

printf("lo logre!\n Ingresa un
nombre\n");


scanf("%s",p->sgte->nombre);

printf("Ingresa un valor\n");


scanf("%d",&p->sgte->valor);

printf("\nUsted ha ingresado los
siguientes valores\n");

printf("NOMBRE: %s \n VALOR: %d \n",
p->sgte->nombre, p->sgte->valor);





return 0;

}

Lo cual, cubre nuestras expectativas.... ¿cómo hacer para listar los datos sin tener la necesidad de especificar el puntero? Parece ser posible con una función...

No hay comentarios: