#include <stdio.h>
#include <stdlib.h>

   /* define a struct TAD lista */
struct lista {
    float info;         /* dado */
    struct lista *prox; /* ponteiro para o proximo elemento */
};
typedef struct lista Lista;

Lista* lista_insere( Lista* l, float info )
{
    Lista* novo = (Lista*) malloc(sizeof(Lista));
    novo->info = info;
    novo->prox = l;
    return novo;
}
int main(int argc, char **argv) {
    Lista *lista;

    /* cria a lista */
    lista = NULL;

    /* cria dados para inserir */
    float x = 1.0, y = 2.5;

    /* insere os dois pontos */
    lista = lista_insere(lista, x);
    printf("X (1.0) inserido...\n");
    lista = lista_insere(lista, y);
    printf("Y (2.5) inserido...\n");    
    
    Lista* p = lista;
    printf("%f", p->info);
    return 0;    
}