Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2011, 23:02
pollin14
 
Fecha de Ingreso: marzo-2010
Ubicación: df
Mensajes: 58
Antigüedad: 14 años, 8 meses
Puntos: 5
Lista generica con tipos de datos int, dobule, apuntador void

Hola! :)

Ya puse algo referente (http://www.forosdelweb.com/f96/tamano-datos-memoria-con-apuntador-void-893019/)

Este problema es similar y es el siguiente:

Implementar una lista ligada, que sus nodos puedan guardar enteros o floating point. Además debe de implementar las funciones comunes de listas: agregarNodo, buscarNodo y demás.

Yo lo implementaria como sigue:

Código C:
Ver original
  1. #include "stdio.h"
  2. #include "stdlib.h"
  3.  
  4. struct nodoEntero {
  5.     int* elemento;
  6.     char* tipo;
  7.     void* siguiente;};
  8.    
  9. typedef struct nodoEntero nodoEntero;
  10.  
  11. struct nodoDouble {
  12.     double* elemento;
  13.     char* tipo;
  14.     void* siguiente;};
  15.  
  16. typedef struct nodoDouble nodoDouble;
  17.  
  18. int main()
  19. {
  20.     int entero = 5;
  21.     double flotante = 1.2;
  22.         //Creamos un nodo
  23.     nodoEntero* nuevoEntero;
  24.     nuevoEntero =  malloc(sizeof(nodoEntero));
  25.     nuevoEntero->elemento = &entero;
  26.     nuevoEntero->tipo = "entero";
  27.     nuevoEntero->siguiente = NULL;
  28.  
  29.       //Creamos un nodo double
  30.     nodoDouble* nuevoDouble;
  31.     nuevoDouble =  malloc(sizeof(nodoDouble));
  32.     nuevoDouble->elemento = &flotante;
  33.     nuevoDouble->tipo = "flotante";
  34.     nuevoDouble->siguiente = nuevoEntero;
  35.    
  36.     nuevoDouble->siguiente; //esto regresa un apuntador
  37.     (nuevoDouble->siguiente)->elemento; //¿porque no puedo hacer esto?
  38. }

Saludos! :)